46Fermer48
myst6re n2Le 09/10/2008 à 23:02
Y'a une partie de mon programme assez lourde que j'arrive vraiment pas à optimiser plus :

:0
:If W=X-3 //En gros : si l'animation doit aller du bas vers le haut
:Then
: DelVar F14→R  //on met les valeurs nécessaires pour la boucle for
:-1→G
:End
:If W=X+3 //Si haut -> bas
:Then
: DelVar R14→F
:1→G
:End
:If not(Ans
:Goto H
:2+H→V
:For(θ,R,F,G //Haut vers bas ou bas vers haut
:θ+I-9
:Pxl-Change(Ans,V
:Pxl-Change(Ans,V+1
:Pxl-Change(Ans,V+2
:Pxl-Change(Ans,V+3
:Pxl-Change(Ans,V+4
:Pxl-Change(Ans,V+5
:Pxl-Change(Ans,V+6
:Pxl-Change(Ans,V+7
:Pxl-Change(Ans,V+8
:Pxl-Change(Ans,V+9
:Pxl-Change(Ans,V+10
:Pxl-Change(Ans,V+11
:Pxl-Change(Ans,V+12
:Pxl-Change(Ans,V+13
:Pxl-Change(Ans,V+14
:End
:Goto 3
:Lbl H
:2→R     /*Si gauche -> droite       */
:16→F    /*Et animation par défaut */
:1→G     /*                                  */
:If W=X-1 //Si droite -> gauche
:Then
:16→R
:2→F
:-1→G
:End
:I-9→V
:For(θ,R,F,G //gauche vers droite ou droite vers gauche
:θ+H
:Pxl-Change(V,Ans
:Pxl-Change(V+1,Ans
:Pxl-Change(V+2,Ans
:Pxl-Change(V+3,Ans
:Pxl-Change(V+4,Ans
:Pxl-Change(V+5,Ans
:Pxl-Change(V+6,Ans
:Pxl-Change(V+7,Ans
:Pxl-Change(V+8,Ans
:Pxl-Change(V+9,Ans
:Pxl-Change(V+10,Ans
:Pxl-Change(V+11,Ans
:Pxl-Change(V+12,Ans
:Pxl-Change(V+13,Ans
:Pxl-Change(V+14,Ans
:End
:Lbl 3


Ce qui me gêne surtout c'est d'avoir à mettre autant de Pxl-Change pour que ce soit rapide, sinon y'a bien la double boucle for, mais c'est pas très rapide. J'ai regardé les méthodes pour pouvoir faire un "négatif" d'une zone comme je le fait... et j'ai rien trouvé d'autre que des pxl-changes.

C'est bien lourd tout ça ^^