probleme pour stopper un onEnterFrame

cameux Messages postés 3 Date d'inscription vendredi 6 février 2004 Statut Membre Dernière intervention 21 mars 2006 - 2 févr. 2006 à 10:35
slagt Messages postés 232 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 29 mars 2011 - 2 févr. 2006 à 11:09
Bonjour,

j ai utiliser un script pour faire trembler un clip, mais j aimerai stopper le onEnterframe car cela utilise de la memoire.

Le problème est que cette fonction ce répète de maniere a crée cette effet de tremblement.
Donc quand je met le delete onterframe cela empeche le clip de bouger plus de 1 fois :S
Je ne sais donc pas comment faire *_*


merci

//code placer sur ma frame
function tremblement() {
b1._x = x0 + amplitude;
amplitude = amplitude * coefficient;
}
amplitudemax = 60;
amplitudemin = 5;
coefficientmax = -1;
coefficientmin = -5.000000E-001;
coefficient = 5.000000E-001 * (coefficientmax + coefficientmin);
amplitude amplitude0 5.000000E-001 * (amplitudemax + amplitudemin);
x0 = b1._x;

//code plcer sur mon bouton
on (release) {
amplitude = amplitude0;
onEnterFrame = tremblement;
}

2 réponses

SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
2 févr. 2006 à 10:58
Tu peux compter le nombre d'éxécutions de l'événement :
onEnterFrame = function () {
...
if (i++>100) onEnterFrame = null;
}

SuperDevy, c la !
0
slagt Messages postés 232 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 29 mars 2011
2 févr. 2006 à 11:09
Plutot que de définir le onEnterFrame en le rendant égal à la fonction,
tu devrais lancer la fonction DANS le onEnterFrame. A chaque passage tu
décrementes une variable, qui une fois arriver à 0, supprime la boucle.



duree = 20;

// Détermine le nombre de passage

onEnterFrame = function ()

{

if (duree--)

// Là, on test sur duree est
true (donc défini et différent de 0), puis on décrémente

tremblement ();

// Lance la fonction

else

delete this.onEnterFrame; // Sinon on détruit l'onEnterFrame

}



L'avantage c'est que tout tes amplitudemax, amplitudemin etc... peuvent
passer en paramètres, ce qui diminue l'utilisation mémoire (puisqu'ils
ne sont que temporairement sous la forme de variable, le temps
d'éxécuter la fonction tremblement).



Je viens de voir là, mais pourquoi tu écris : -5.000000E-001 ???

Ecrit simplement : -0.5, c'est quand même plus simple !



De même, 5.000000E-001, c'est égal à 0.5 !



^^
0
Rejoignez-nous