Clips qui tombent successivement

Résolu
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015 - 13 avril 2009 à 02:21
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 16 avril 2009 à 08:00
Bonjour :)

Alors voilà, j'essaye de créer une animation qui permet à partir d'un clip, de le dupliquer et une fois qu'on appuie sur un bouton, les clips descendent successivement jusqu'à une position donnée.

Ma duplication fonctionne nikel, le départ successif aussi mais le problème que j'ai c'est que les clips ne s'arrêtent pas à la limite que je leur ai donnée et le setInterval ne se supprime pas

Voici mon code :

var nbclips:Number = 20;
var decompte:Number = -1;

o_mc_rond_0._x = 50;
o_mc_rond_0._y = 50;

for (i=1; i<=nbclips; i++) {
    o_mc_rond_0.duplicateMovieClip("o_mc_rond_"+i,this.getNextHighestDepth());
    eval("o_mc_rond_"+i)._y = 50;
    eval("o_mc_rond_"+i)._x = 50+i*7.5;
    this._y = 50;
}

bouton.onRelease = function() {
    setInterval(go,100);
};

function go():Void {
    decompte++;
    if (decompte>nbclips) {
        this.clearInterval();
    } else {
        eval("o_mc_rond_"+decompte).onEnterFrame = function():Void  {
            if (eval("o_mc_rond_"+decompte)._y<=300) {
                trace(decompte);
                trace(o_mc_rond_0._y);
                this._y += 10;
            } else if (eval("o_mc_rond_"+decompte)._y>300) {
                delete eval("o_mc_rond_"+decompte).onEnterFrame();
            }
        }
    }
}

Merci :)

5 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
13 avril 2009 à 02:31
Bonsoir,

Tu as mal déclaré ton interval :

var toto = setInterval( ...
toto.clearInterval();

Peg'
3
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
13 avril 2009 à 09:00
Merci mais à quoi correspond cette variable? Doit-elle avoir une valeur particulière?

Et enfin, j'ai essayé en mettant une variable quelconque et de mettre la variable nbclips mais ça ne change rien, l'intervalle ne s'arrête pas et mon enterframe non plus...
3
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
15 avril 2009 à 22:20
Salut,

Peg, il y a une erreur d'inattention dans ta reponse :<strike> toto.clearInterval()</strike> plutot clearInterval(toto)

projer, cette variable sert a stocker l'id que renvoie la fonction setInterval ; tu en as besoin pour arreter le timer identifie par cet id. Par exemple si tu lances 2 setInterval , sur 2 fonctions differentes, l'id te permet de savoir exactement lequel des deux tu voudrais arreter.

Bonne continuation

http://liveplayaz.com

je suis heureux de faire partie d'une grande famille ...!
3
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
16 avril 2009 à 01:38
Merci pour vos réponses, j'ai réussi à faire fonctionner ma fonction sans SetInterval finalement :)

J'ai encore du mal à faire fonctionner correctement cette fonction, va falloir que je fasse plus de tests dessus...
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
16 avril 2009 à 08:00
Il serait surtout mieux d'oublier l'AS2 et de passer à l'AS3 car avec la Classe Timer tu n'aurais aucun soucis.

Merci à nickydaquick pour la rectification .. ça fait un peu 2 ans que je ne l'utilise plus ;)

Peg'
0
Rejoignez-nous