Bonjour,
Je voudrais créer une animation à partir de plusieurs animation à appeller l'un à la suite de l'autre.
Une animation sera appelé quand l'autre est terminé.
Est ce que quelqu'un peut m'aider.
Merci.
Bonjour,
Je voudrais créer une animation à partir de plusieurs animation à appeller l'un à la suite de l'autre.
Une animation sera appelé quand l'autre est terminé.
Est ce que quelqu'un peut m'aider.
Merci.
Salut,
je suis pas sûr qu'on puisse déterminer la durée mais tu peux savoir si une animation "simple" est terminée en utilisant les propriétés _currentframe et _totalframes de la classe MovieClip.
ci-dessous un exemple qui charge une animation test.swf :
Code AS2 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 var mcContainer = this.createEmptyMovieClip("container", this.getNextHighestDepth()); var mclListener = new Object(); mclListener.onLoadInit = function(target_mc) { _root.onEnterFrame = function() { if(target_mc._currentframe == target_mc._totalframes) { trace("animation terminée"); target_mc.stop(); delete _root.onEnterFrame; } }; } var mcl = new MovieClipLoader(); mcl.addListener(mclListener); mcl.loadClip("test.swf", mcContainer);
juste pour dire que j'aurai remplacé les _root par this
en fait ça ne peut pas marcher car this ne cible pas un clip dans la fonction onLoadInit.
je ne conseil pas l'utilisation de _root mais dans l'exemple elle illustre le fait de "surveiller" la progression de l'animation chargée dans l'animation principale. On peut utiliser un clip à la place.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 var mcControler = this.createEmptyMovieClip("controler", this.getNextHighestDepth()); var mcContainer = this.createEmptyMovieClip("container", this.getNextHighestDepth()); var mclListener = new Object(); mclListener.onLoadInit = function(target_mc) { mcControler.onEnterFrame = function() { if(target_mc._currentframe == target_mc._totalframes) { trace("animation terminée"); target_mc.stop(); delete this.onEnterFrame; } }; } var mcl = new MovieClipLoader(); mcl.addListener(mclListener); mcl.loadClip("test.swf", mcContainer);
J'ai plutot utilisé une variable terminer qui au départ est à false et à la fin est à true.
Merci pour votre aide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager