Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 24 892 630

  • Nb. de membres 186
  • Nb. d'articles 1 269
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Petit tuto Hollywood create brush

Petit tuto Hollywood create brush#941

2Contributeur(s)
artblinkLio
3 Modérateur(s)
K-LElwoodcorto
artblink artblinkicon_post
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[I]=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
Lio Lioicon_post
ma jauge cpu affiche 76% en mode fenêtre mais ça fonctionne ! :#
A1G4/Radeon9000PRO/1Go RAM; X5000/RadeonR7-250x/2Go RAM; AOS4.1FE
artblink artblinkicon_post
Merci lio pour le retour,

mais j'ai rien optimisé sur se code, c'est un tuto sur la création de brush (vectoriel) pour hollywood.

Attention, il y a quand même 196 brush en mouvement d'afficher en même temps à l'écran de taille 32x32 en 640x480 32 bits ;-)

De plus j'utilise 2 boucles bien lourdes ;-)

J'ai fais un tuto car j'ai remarqué que lors de la création d'un brush, et qu'on l'affiche, que l'objet soit un rond ou soit un triangle, il affichait tjrs cet objet dans un carré (pas de mask ni de transparence), c'est pour sa que j'ai fais un tuto, car imaginer un objet 3D dont la sortie écran se fais dans un brush, on limite déjà un effacement complet de l'écran, juste l'effacement du brush, on gagne un peut sur l'affichage ;-)

Sa peut aider les petit développeur hollywood.

La je suis sur le trie des triangles pour ne plus avoir d'erreur d'affichage et en même temps sur le morphing 3D (mais sa rame lol)

Mais d'accord avec toi, peux mieux faire :=!

Respect
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme