OnMotionLooped

Résolu
Ariranha Messages postés 79 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 27 juillet 2011 - 13 août 2009 à 16:32
Ariranha Messages postés 79 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 27 juillet 2011 - 14 août 2009 à 10:16
Bonjour,

J'ai un pseudo problème avec onMotionLooped, je ne sais pas trop comment le définir donc pour être le plus clair possible voila ce que j'obtiens dans la fenêtre de sortie après 4 passage de "sac" qui est l'élément de var tweenSacX :

325 //la première Tween est lancé
looped
206 //la deuxième
looped
216
looped
398 //la troisième
looped
403
looped
318
looped
192
looped
484 //et la quatrième

Donc il semblerait que onMotionLooped soit exécuté plusieurs fois avant de relancer la function tweenSac()

Est ce que quelqu'un saurait comment y remédier sachant que ça n'inflût pas "pour le moment" sur le reste du code. Ci-dessous le code :

function tweenSac() {
toucheSac = 1;
function randPosY(min:Number, max:Number):Number {
var randomArrayY:Number = Math.floor(Math.random()*(max-min+1))+min;
return randomArrayY;
}
var mY:Number = randPosY(167, 503);
trace(mY);
attachMovie("sacPlastique","sac",1,{_x:750, _y:mY});
var ecouteurSac:Object = new Object();
ecouteurSac.onMotionLooped = function(tw:Tween):Void  {
trace("looped");
tweenSac();
};
var tweenSacX:Tween = new Tween(sac, "_x", Regular.easeOut, 750, -450, 7, true);
tweenSacX.looping = true;
tweenSacX.addListener(ecouteurSac);
}

2 réponses

Ariranha Messages postés 79 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 27 juillet 2011
14 août 2009 à 10:16
Merci de ta réponse.

J'ai simplement finis par mettre : tweenSacX.stop();
dans la partie onMotionLooped.
3
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
13 août 2009 à 19:05
Salut,
je ne vois aucune erreur ... tout ce que tu as ecris correspond a la sortie.
Tu crees des tweens quasiment a l'infini:

tu appelles la fonction tweensac()
1- crees une tween TA
2- lors que la tween TA loop elle appelle la fonction tweensac() qui en crees une autre TB
3- la tween TA continue de faire une loop qui appelle la fonction tweensac() et crees une tween TC
4- TB continue sa loop et crees TD
5- et ainsi de suite ....

Suggestion: soumets nous la logique pour qu'on t'aide a voir ton pb

Bonne continuation
http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!
0
Rejoignez-nous