RemoveEventListener ne marche pas

kiwisuisse Messages postés 4 Date d'inscription mercredi 27 mai 2009 Statut Membre Dernière intervention 17 juin 2009 - 17 juin 2009 à 16:08
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 17 juin 2009 à 19:59
Bonjour à tous,
J'ai un petit problème avec mon script AS3 dans mon projet flash : j'ai un bouton monbouton et lorsque que l'on clique dessus, j'aimerais qu'un clip monclip se déplace jusqu'au coordonnées que j'ai définies. Pour cela j'ai écrit le code ci-dessous, il marche sans problèmes, mais lorsque qu'il devrait s'arrêter grâce à la fonction removeEventListener, j'obtiens un message d'erreur : "ReferenceError: Error #1069: La propriété ENTER_FRAME est introuvable sur flash.events.Event et il n'existe pas de valeur par défaut.
at rectangles2_fla::MainTimeline/deplacement()"
Quelqu'un peut il m'aider ?
Merci
Kiwisuisse

var Xactu:Number;
var Yactu:Number;
var Xbut:Number;
var Ybut:Number;
var Xdeplacement:Number;
var Ydeplacement:Number;

monbouton.addEventListener(MouseEvent.CLICK, preparation);

function preparation(MouseEvent):void {
Xbut = 100;
Ybut = 50;
monclip.addEventListener(Event.ENTER_FRAME, deplacement);
};

function deplacement(Event):void {
var objet:DisplayObject = Event.currentTarget as DisplayObject;
Xactu = objet.x;
Yactu = objet.y;
Xdeplacement = (Xbut-Xactu)/10;
Ydeplacement = (Ybut-Yactu)/10;
objet.x += Xdeplacement;
objet.y += Ydeplacement;

if (objet.x Xbut && objet.y Ybut) {
objet.removeEventListener(Event.ENTER_FRAME, deplacement);
};
};

6 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 juin 2009 à 16:20
Bonjour,

Alors j'ai lu ton code (malgré la lecture plutôt difficile), et je me demande bien ce qu'est "monclip" ... car tu le définie commeé tant un "displayObject" et donc on ne sait pas s'il s'agit d'un InteractiveObject ou pas (Bitmap et Shape sont des displayObjects mais pas des InteractiveObject ... alors que Sprite et Movieclip, si) et c'est possible que el soucis vienne de là.

Après, sans avoir testé si ta condition était bien prise en compte (avec un trace dans ton if, par exemple), pas évident de deviner ...

Mais à bien y regarder, un nombre constemment divisé par 10 ne sera jamais égal à 0 ... même s'il s'en rapproche de plus en plus

Peg'
1
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
17 juin 2009 à 19:12
Donc modifies tes références à DisplayObject en MovieClip.

Mais je ne suis pas certain que ça soit ça ...

Peg'
1
kiwisuisse Messages postés 4 Date d'inscription mercredi 27 mai 2009 Statut Membre Dernière intervention 17 juin 2009 1
17 juin 2009 à 19:36
Merci pegase31
J'ai résolu ce problème en mettant removeEventListener(Event.type, deplacement)
kiwisuisse
1
kiwisuisse Messages postés 4 Date d'inscription mercredi 27 mai 2009 Statut Membre Dernière intervention 17 juin 2009 1
17 juin 2009 à 19:03
monclip est bien un Movieclip et la condition if est bien prise en compte
0

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

Posez votre question
kiwisuisse Messages postés 4 Date d'inscription mercredi 27 mai 2009 Statut Membre Dernière intervention 17 juin 2009 1
17 juin 2009 à 19:15
pas mieux
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 juin 2009 à 19:59
C'est un peu barbare ... mais ça prouve bien qu'il y a un soucis dans ton code car l'évent n'est pas reconnu comme tel

Peg'
0
Rejoignez-nous