Salut,
Pour résoudre ton problème, il te suffit de créer une variable qui t'indiquera si l'utilisateur est déjà sorti ou non.
Par exemple ( ceci n'est qu'un exemple, on peut surement optimiser ce petit truc )
1. Tu dois créer une variable, que tu nomes par exemple my_flag et tu l'initialise à zéro tout au début de ton programme :
my_flag = 0;
2. Après, dans ton (press,release) tu ajoute l'affectation suivante :
my_flag = 1;
3. Ensuite tu conditionnes le code de ton (rollOut) :
on(rollOut) { if (my_flag==0) this.mcformation.gotoAndPlay("close"); }
4. Enfin tu re-initialises ta variable dans ton (rollOver ) en ajoutant l'instruction :
my_flag = 0;
Ainsi, pour résumer tu auras le code suivant :
my_flag = 0;
on(rollOver) {
my_flag = 0;
this.mcformation.gotoAndPlay("open");
}
on(rollOut) {
if (my_flag==0) this.mcformation.gotoAndPlay("close");
}
on(press, release) {
my_flag = 1;
this._parent.gotoAndStop(5);
this.mcformation.gotoAndStop("hover");
}
************** Les instructions du rollOut ne s'éxecuteront QUE SI my_flag vaut 0 ...
Je crois que cela répond à ton problème.
Il ne faut pas hésiter à utiliser des variables de test ( dites encores variables d'état ).
Le mieux étant de les TYPER de type boulléen :
var my_flag:boolean;
Une telle variable prend alors soit la valeur : true soit false.
my_flag = true;
ou
my_flag=false;
Bon courage !
