Stopper une animation dynamique au survole

matcriado - 16 oct. 2012 à 20:48
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 17 oct. 2012 à 12:11
Bonjour,

J'ai créé un bandeau animé qui défile en boucle en as3.

Je souhaite que cette animation s'arrête au survole de la souris et reprenne au même endroit après le retrait de la souris.

Un coup de main, serait le bienvenue.

Merci d'avances !

Voici mon code :

import flash.events.Event;

//copie du bandeau
var bandeauocc:bandeau=new bandeau()
bandeauocc.vitesse=2

//ajout sur la scène
addChild(bandeauocc)

//écouteur
bandeauocc.addEventListener(Event.ENTER_FRAME,animation)

//déplacement
function animation(evt:Event):void{
bandeauocc.x-=bandeauocc.vitesse
//boucle
if(bandeauocc.x<=-(bandeauocc.width/2)){
   bandeauocc.x=0
   }
}

3 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
17 oct. 2012 à 08:04
Bonjour, j'avoue ne pas bien saisir ta demande...
Si tu as bien créé ton code, tu dois savoir que le "moteur" de l'animation est le "Event.ENTER_FRAME".
Et si tu sais ajouter un écouteur, tu dois aussi savoir le supprimer.

Je me trompe quelque part ou le code n'est pas de toi ?

Peg'
0
Bonjour Peg,

Tu ne te trompe pas.
J'apprends l'actionscript en suivant des tutos et en les adaptant pour essayer de manipuler le code.
Il y a donc des notions de bases qui m'échappent encore.
Ce que je cherche à faire c'est arrêter l'animation puis la reprendre à l'endroit où elle s'est arrêté. Et ça je ne sais pas comment coder ça.

Merci de ton aide.
M.
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
17 oct. 2012 à 12:11
Alors il faut pour cela que tu implémentes un écouteur de "MouseEvent.MOUSE_OVER" sur ton stage, et que tu retire ton "Event.ENTER_FRAME" lorsque ça se produit.
Puis pour le relancer, tu le reconstruit après un "MouseEvent.MOUSE_OUT" et un "Event.LEAVE" (de mémoire pour le dernier).

Peg'
0
Rejoignez-nous