- Ce sujet contient 72 réponses, 9 participants et a été mis à jour pour la dernière fois par Alain.Treesong, le il y a 1 mois et 1 semaine.
-
Sujet
-
Bonsoir,
Sur AmigaImpact j’ai uploadé à la demande d’un membre du forum une version d’Amos qui peut servir de référence au développement sur Amiga 500 avec ce langage.
https://www.dropbox.com/s/nch9p4fj59lw4k4/AMOSPro_Community_2020_1.adf?dl=0
Je l’avais indiqué dans un thread déjà mais il est possible que cela soit passé inaperçu sur ce forum car ce n’était le sujet du thread (ou alors cela n’intéresse pas grand monde…)
Donc je crée ce thread sur ce forum pour en parler plus en détail. J’ai par ailleurs dans l’idée d’ajouter de temps en temps quelques bouts de code qui serviront d’exemples pour les personnes éventuellement intéressées par du dev avec ce langage avec comme plateforme cible plutôt un Amiga ECS/OCS (généralement un A500 vanille).
J’ai ajouté un progamme sur le thread d’Amiga Impact que je reporte ici également pour toucher le plus de personnes (si jamais il y en a :-)).
Donc voici un petit programme qui après compilation fera tourner sur l’axe Y en 50 fps un triangle avec un effet d’ombre. Ce progamme est à utiliser avec la version 2020.1 d’Amos paramétrée avec les extensions incontournables selon moi.
Ceux qui veulent en parler ou poster d’autres codes n’hésitent pas.
https://www.dropbox.com/s/jna6hf1o8r981fu/AmosPro2_triangle.png
Le code :
‘ Flat shadow rotating Y triangle by Aghnar/Agima in dec. 2019
Screen Open 0,320,256,8,Lowres
Flash Off : Curs Off : Hide : Degree
Paper 0 : Cls : Palette $0,$666,$888,$BBB,$AAA,$BBB,$CCC,$EEE
Pen 2
Double Buffer : Autoback 0
Blitter Copy Limit 0,48 To 320,208
Dim C(359),S(359) : For I=0 To 359 : C(I)=256*Cos(I) : S(I)=256*Sin(I) : Next
X1=64 : Y1=-32 : Z1=0 : X2=-64 : Y2=-32 : Z2=0 : X3=0 : Y3=74 : Z3=0
XE1=0 : YE1=0 : XE2=0 : YE2=0 : XE3=0 : YE3=0
X=0 : Y=0 : Z=0 : T=0 : Timer=0
Do
Blitter Copy 0,1 To 0,2
Blitter Copy 0,0 To 0,1
Add T,1 : If T=10 : Locate 1,26 : Print 500/Timer; » fps » : Timer=0 : T=0 : End If
Add A,-2,0 To 359
X=X1*C(A)+Z1*S(A) : Y=Y1*256 : Z=-X1*S(A)+Z1*C(A) : CZ=Z+256*256
Blitter Clear 0,0
XE1=160+(X*256)/CZ : YE1=100+(Y*256)/CZ
X=X2*C(A)+Z2*S(A) : Y=Y2*256 : Z=-X2*S(A)+Z2*C(A) : CZ=Z+256*256
XE2=160+(X*256)/CZ : YE2=100+(Y*256)/CZ
X=X3*C(A)+Z3*S(A) : Y=Y3*256 : Z=-X3*S(A)+Z3*C(A) : CZ=Z+256*256
XE3=160+(X*256)/CZ : YE3=100+(Y*256)/CZ
Turbo Draw XE1,YE1 To XE2,YE2,1,-1
Turbo Draw XE2,YE2 To XE3,YE3,1,-1
Turbo Draw XE3,YE3 To XE1,YE1,1,-1
Blitter Fill 0,0
Screen Swap : Wait Vbl
LoopCiao
Aghnar
- Vous devez être connecté pour répondre à ce sujet.