Petit tuto Hollywood create brush
Affichage de 1 message (sur 1 au total)
-
Bonjour,
Voici un petit tuto hollywood pour la création de brush
/* Petit tutoriel sur la création de brush avec hollywood ou
comment créer des brush a partir de commande de traçage*/
@DISPLAY{Mode = "ask",WIDTH=640,HEIGHT=480}
/* Mode="ask" permet de demander à l'utilisateur d'être soit
en mode fenêtre soit en mode plein écran*/
SetFillStyle(#FILLCOLOR)
/* #FILLCOLOR défini que chaque figure géométrique doit être rempli
par la couleur de traçage défini */
Local Y=-60 ; la position Y de départ du texte
CreateBrush(1, 32, 32,#BLACK)
; Création d'une brush vide de 32x32 pixel elle est identifié N°1 (couleur NOIR)
SelectBrush(1) ; On sélectionne la Brush 1 créé auparavant
; On trace se que l'on veut dedans, ici 7 rond plein
Circle(0, 0, 16, ARGB(100,$990000))
Circle(1, 1, 15, ARGB(100,$AA0000))
Circle(2, 2, 14, ARGB(100,$BB0000))
Circle(3, 3, 13, ARGB(100,$CC0000))
Circle(4, 4, 12, ARGB(100,$DD0000))
Circle(5, 5, 11, ARGB(100,$EE0000))
Circle(6, 6, 10, ARGB(100,$FF0000))
/* ARGB défini une couleur avec transparence, la transparence se défini
entre 0 et 255, ici on a choisi la valeur 100. La couleur doit toujours
être identifié par $ suivi de 6 données notées en hexadécimale */
EndSelect ; On déselectionne la brush
SetBrushTransparency(1, #BLACK)
/* On défini que la couleur transparente (donc non visible) dans la brush 1
est la couleur noir, donc au finale, la brush 1 sera une boule et non un
carré noir de 32x32 pixel avec un rond à l'intérieur */
Dim QCOS[720] ; On réserve de la mémoire (donc un tableau)
For Local I=0 To 719
QCOS=Cos(I*0.1)*96 ; on précalcule l'animation des boules rouges
Next
Function GO()
; On démare la fonction
Flip ; on passe de l'écran de traçage à l'écran finale
Cls ; on efface l'écran ou l'on travail
TextOut(#CENTER,Y, "*****************")
TextOut(#CENTER,Y+8, "* Boule Wave *")
TextOut(#CENTER,Y+16, "* Par Artblink *")
TextOut(#CENTER,Y+24,"* Programmé *")
TextOut(#CENTER,Y+32,"* Avec *")
TextOut(#CENTER,Y+40,"* Hollywood *")
TextOut(#CENTER,Y+48,"*****************")
/* Y est la variable qui permet de scroller le texte */
; Et un jeu de boucle
For Local T=0 To 448 Step 32 ; step 32 car la brush a pour dimension 32x32
For Local I=0 To 6 ; 7 brush/lignes
DisplayBrush(1,QCOS[4*I+A+T/16]+100,T)
Next
For Local I=0 To 6 ; 7 brush/lignes
DisplayBrush(1,QCOS[4*I+B+T/16]+500,T)
Next
Next
Y=Y+1 ; scroll
A=A+1 ; déplacement du curseur dans le tableau pour les boules de gauche
B=B-1 ; déplacement du curseur dans le tableau pour les boules de droite
If A>313 Then A=0 ; on limite pour redémarrer
If B<0 Then B=313 ; on limite pour redémarrer
If Y>500 Then Y=-60 ; on limite pour redémarrer
EndFunction
; mise en route du double buffer
BeginDoubleBuffer
; interval pour la function GO de 50 FPS (1000=1 seconde)
SetInterval(1,GO,1000/50)
; Boucle infini
Repeat
WaitEvent
Hollywood c’est facile… non?
:=!
Le résultat en exe, c’est ici:
http://jeannoel.roueste.free.fr/Amiga/Boule6800x0.exe
http://jeannoel.roueste.free.fr/Amiga/BouleAOS4.exe
http://jeannoel.roueste.free.fr/Amiga/BouleWarpos.exe
http://jeannoel.roueste.free.fr/Amiga/BouleMorphos.exe
Respect
Affichage de 1 message (sur 1 au total)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Petit tuto Hollywood create brush