Attente de la fin de l'animation d'un movieclip avant de reprendre l'execution d
cs_diogen
Messages postés9Date d'inscriptiondimanche 4 décembre 2005StatutMembreDernière intervention28 septembre 2007
-
5 déc. 2005 à 19:10
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 2010
-
6 déc. 2005 à 21:43
Bonjour a tous
Voici mon premier message sur ce forum bien pratique.
Je précise que je ne maitrise pas bien l'actionScript et que le structure de mon application est peut etre mauvaise....
Celle-ci se compose d'un .fla et d'un .as.
Je recupere un movie qui se trouve dans ma librairie grace a la comande : this.attachMovie. Ce movie a comme propiété AS2.0 class le nom de mon fichier .as.
Dans le code de mon fichier .as, j'ai fais 2 focntions :
"LanceAnim" qui appelle la commande this.gotoAndPlay(2); qui me permet de lancer une animation allant de la frame 2 a la frame 10 de mon movieclip.
"Retour" qui appelle la commande this.gotoAndStop(1); Dans une des frames de mon .fla, j'appelle la fonction "LanceAnim" puis quelques lignes de code plus loin j'apelle la fonction "Retour".
Mon probleme est que je n'ai pas le temps de voir l'animation de de mon movieclip se déroulant donc entre les frames 2 et 10 de celui-ci.
Comment puis-je demander a mon code d'attendre la fin de mon annime avant de poursuivre son execution.
J'espere avoir été suffisament clair!!!
Merci bien.
cs_diogen
Messages postés9Date d'inscriptiondimanche 4 décembre 2005StatutMembreDernière intervention28 septembre 2007 6 déc. 2005 à 01:11
merci pour ta reponse... J'ai regardé un peu ce qu'il était possible de faire avec _currentframe mais je suis pas sur d'être sur la bonne route...
Pour que ma question soit plus claire, voici un bout du code simplifié:
//Partie de la Frame1 de ma scene :
for(index=0;index<50;index++){
// Le movie clip Id_Carte vient de ma librairie et est rattaché a ma classe cartes.as
tab[index+1] = this.attachMovie("Id_Carte", index+1, this.getNextHighestDepth());
}
//Partie de la Frame2 de ma scene :
function tourordi(alle1:Number,alle2:Number) {
tab[alle1].retourneimage(); //fonction appartenant a ma classe cartes.as ne faisant appelle qu'a un gotoAndPlay(2); (anime de frame 2 à 10)
tab[alle2].retourneimage(); //fonction appartenant a ma classe cartes.as ne faisant appelle qu'a un gotoAndPlay(2); (anime de frame 2 à 10)
while(mc2._currentframe ! = mc2._totalframes ){}
if (compare(mc1, mc2) != true) {
mc1.retourneimage2(); //fonction appartenant a ma classe cartes.as ne faisant appelle qu'a un gotoAndStop(1);
mc2.retourneimage2(); //fonction appartenant a ma classe cartes.as ne faisant appelle qu'a un gotoAndStop(1);
}
}
Mon probleme est que je ne vois pas l'anime appellée par "retourneimage();" L'execution du code passe directement dans la boucle while et ca boucle sur rien biensur (héhé)... et sans cette ligne le code passe à l'appelle à "retourneimage2();" directement aussi!!!!
Merci bien pour votre lecture et pour vos reponses
on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010 6 déc. 2005 à 14:14
bah, alors je sais pas ... t'es sûr du " != " plutôt que " == " ?
p-être avec setInterval() , mais bon dans ton cas ça ne vas pas être
précis ... je sais pas désolé :-/
a+.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 20101 6 déc. 2005 à 21:43
"LanceAnim" puis quelques lignes de code plus loin j'apelle la fonction "Retour".
VOILA LA GROSSE DIFFERENCE!!!!!!!!!
Quelque ligne plus loin!!!!!!!!!!!!
Donc tu écrit dans la même image clé.
Forcément, flash UPDATE l'écran qu'après avoir lu tout le code...Alor s forcément, si tu appel LanceAni() et après Retour(), il va faire donc Retour() et tu n'auras pas vu les images entre 2 et 10;
Donc , tu as juste à rajouter une image clé à ton image 10 et tu fait:
Retour();