arrêter un clip qui "tourne" indéfiniment - Flash/ActionScript - Programmation
Marsh Posté le 15-05-2009 à 14:11:33
Tu met un timer...
Avec ton frame rate et ta var speed, tu en deduit le temps qu'il faut pour une revolution... et donc, un timer qui effectuera une action (...stop()...) au bout de X * temps de revolution, ou X est le nbre de tour à faire...
Sinon, mieux, tu met un compteur de tour...
Tu profite de ton opération de pseudo modulo qui ramène ton angle à 0 lorsqu'il depasse 360, pour incrémenter une variable prévu à cet effet, et une condition : if(ma variable==tourmax){stop()}
Marsh Posté le 15-05-2009 à 22:40:38
Merci pour ces conseils.
Je ne suis pas sûre d'y arriver comme ça toute seule (vais essayer quand même hein!!), peux-tu me détailler un peu plus le code?
Marsh Posté le 15-05-2009 à 23:33:21
Code :
|
Je suis pas sure sur le delete de l'evenement... renseigne toi dans l'aide de flash pour supprimer celui ci !
En tout cas, l'idée est là...
Marsh Posté le 16-05-2009 à 20:32:47
Ok, j'ai bien saisi la démarche, et j'ai modifié mon script...
Mais, la planète ne bouge plus dès le départ
Marsh Posté le 16-05-2009 à 23:03:51
hum... met nous a disposition le .fla...
Marsh Posté le 17-05-2009 à 12:03:20
fla à disposition
http://anthere.free.fr/essai4.fla
Merci.
Marsh Posté le 17-05-2009 à 15:33:46
Apparement on ne peut pas supprimer un onClipEvent... une faiblesse de l'action script 1/2...
Soit tu reste sur ce script et tu met speed=0, mais ça ne supprime pas l'enterframe (ce qui est très "sale" )...
Soit tu redige + proprement ce code...
Dans tous les cas, il est pas bon d'utiliser le onClipEvent(enterFrame)...
je te suggère mettre le script hors du clip, ce qui permettra de mettre un onEnterFrame qui aura la meme efficacité mais qu'on pourra supprimer !
Marsh Posté le 14-05-2009 à 23:02:37
Bonjour à tous!
Je suis un panne sur un problème d'ActionScript qui doit être très simple à résoudre, mais depuis deux semaines, je n'ai pas encore trouvée la clé...
Précisons que je débute en AS2!
Voilà l'histoire: imaginons une vue en perspective d'un système solaire, sans le soleil, mais avec planètes. Celles-ci décrivent une révolution, une autre, une autre encore, et c'est ça le problème, je n'arrive pas à les stopper. Je souhaiterais que se fige la planète au bout de x révolutions, et que la planète reste affichée.
Ci-dessous le script utilisé, sur chaque clip:
onClipEvent(load){
y=100;
speed=5;
radius=100;
xcenter=200;
ycenter=0;
zcenter=100;
angle=264;
fl=150;
;
}
onClipEvent(enterFrame){
z=Math.sin(angle*Math.PI/180)*radius+zcenter;
scale=fl/(fl+z);
x=Math.cos(angle*Math.PI/180)*radius;
_x=x*scale+xcenter;
_y=y*scale+ycenter;
_xscale= _yscale = scale*100;
angle+=speed;
if(angle>359){
angle-=360;
_alpha=scale*100;
}
}
Merci de bien vouloir me filer un p'tit coup de main!