Petit tuto Hollywood create brush

Affichage de 1 message (sur 1 au total)

  • Anonyme

      #9174

      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

    Amiga Impact