website logo
Auteur
avatar
artblink

Forum » » Création-Développement » » Petit tuto Hollywood create brush


Posté : 19-12-2010 10:47 icone du post

Bonjour,

Voici un petit tuto hollywood pour la création de brush



/* Petit tutoriel sur la création de&nbs p;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'uti lisateur d'être soit
en mode fenêtre soit en mode plein & eacute;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épa rt du texte 
CreateBrush(1, 32, 32,#BLACK)
; Création d'une brush vide de 32x32&nbs p;pixel elle est identifié N?1 (couleur NO IR)
    SelectBrush(1) ; On sélectionne  la Brush 1 créé auparavant
        ; On trace se& nbsp;que l'on veut dedans, ici 7 rond plein< br />    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éf ini 
    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&nb sp;la brush
    SetBrushTransparency(1, #BLACK)
    /* On défini que la c ouleur transparente (donc non visible) dans la&nb sp;brush 1
    est la couleur noir, donc au  finale, la brush 1 sera une boule et&n bsp;non un
    carré noir de 32x32 pixel& nbsp;avec un rond à l'intérieur */     
Dim QCOS[720] ; On réserve de la m& eacute;moire (donc un tableau)
For Local I=0 To 719
    QCOS[I]=Cos(I*0.1)*96 ; on préc alcule l'animation des boules rouges
Next

Function GO()
    ; On démare la fonction&nb sp;
    Flip ; on passe de l'é ;cran de traçage à l'écran finale
    Cls ; on efface l'écran&nb sp;ou l'on travail
    TextOut(#CENTER,Y,   "**************** *")
    TextOut(#CENTER,Y+8,   "*  B oule  Wave  *")
    TextOut(#CENTER,Y+16, "* Par  Art blink *")
    TextOut(#CENTER,Y+24,"*   Programm&eac ute;   *")
    TextOut(#CENTER,Y+32,"*      Avec      *")
    TextOut(#CENTER,Y+40,"*   Hollywood&nb sp;  *")
    TextOut(#CENTER,Y+48,"*****************")
    /* Y est la variable qui&nbs p;permet de scroller le texte */
; Et un jeu de boucle
For Local T=0 To 448 Step 32 ; step&n bsp;32 car la brush a pour dimension 32x32
    For Local I=0 To 6 ; 7& nbsp;brush/lignes
        DisplayBrush(1,QCOS[4*I+A+T/1 6]+100,T)
    Next
    For Local I=0 To 6 ; 7& nbsp;brush/lignes
        DisplayBrush(1,QCOS[4*I+B+T/1 6]+500,T)
    Next
Next
Y=Y+1 ; scroll
A=A+1 ; déplacement du curseur dans le&n bsp;tableau pour les boules de gauche
B=B-1 ; déplacement du curseur dans le&n bsp;tableau pour les boules de droite
If A>313 Then A=0   ; on limite&nb sp;pour redémarrer
If B<0 Then B=313   ; on limite&nb sp;pour redémarrer
If Y>500 Then Y=-60 ; on limite pour&nb sp;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

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=941&forum=14