RemoveEventListener ne marche pas

Signaler
Messages postés
4
Date d'inscription
mercredi 27 mai 2009
Statut
Membre
Dernière intervention
17 juin 2009
-
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
-
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

Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
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'
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
Donc modifies tes références à DisplayObject en MovieClip.

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

Peg'
Messages postés
4
Date d'inscription
mercredi 27 mai 2009
Statut
Membre
Dernière intervention
17 juin 2009
1
Merci pegase31
J'ai résolu ce problème en mettant removeEventListener(Event.type, deplacement)
kiwisuisse
Messages postés
4
Date d'inscription
mercredi 27 mai 2009
Statut
Membre
Dernière intervention
17 juin 2009
1
monclip est bien un Movieclip et la condition if est bien prise en compte
Messages postés
4
Date d'inscription
mercredi 27 mai 2009
Statut
Membre
Dernière intervention
17 juin 2009
1
pas mieux
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
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'