PDA

Volledige versie bekijken : remove eventlistener


Fortune.
%Europe/Berlin %581 %2010, 13:57
Hey, ik ben voor school een drag en drop functie aan het testen, dit is mijn code tot nu toe:

stop();

var startX:Number;
var startY:Number;
var counter:Number = 0;

button_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
button_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);

function pickUp(event:MouseEvent):void {
event.target.startDrag(true);
event.target.parent.addChild(event.target);
startX = event.target.x;
startY = event.target.y;
}
function dropIt(event:MouseEvent):void {
event.target.stopDrag();
var myTargetName:String = "target" + event.target.name;
var myTarget:DisplayObject = getChildByName(myTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget){
gotoAndPlay(2);
event.target.removeEventListener(MouseEvent.MOUSE_ DOWN, pickUp);
event.target.removeEventListener(MouseEvent.MOUSE_ UP, dropIt);
event.target.buttonMode = false;
event.target.x = myTarget.x;
event.target.y = myTarget.y;
counter++;
}

else {
event.target.x = startX;
event.target.y = startY;
}
}

button_mc.buttonMode = true;

Mijn probleem is nu dat op frame 2 button_mc blijft staan terwijl hij niet in het frame staat (clear frame), ik weet niet zeker dat dit het probleem is, maar volgens mij moet ik remove eventlistener doen? Ik vraag me af waar dat dan moet staan en hoe ik dat moet doen, ik heb dit al geprobeerd:

button_mc.removeEventListener(MouseEvent.MOUSE_DOW N, pickUp);
button_mc.removeEventListener(MouseEvent.MOUSE_UP, dropIt);

Dat werkt niet (geprobeerd boven en onder gotoAndPlay regel). Hoop dat iemand me kan helpen, zodat ik verder kan!

Alvast bedankt.

Dauntless
%Europe/Berlin %746 %2010, 17:55
Dat heeft niets met de event listener te maken. Het heeft wel te maken met een 'addChild'. Die moet je ongedaan maken dmv een removeChild.

Je moet dus een referentie bijhouden naar alle mc's die je toevoegt met AS en dan kan je dat lijstje afgaan en ze allemaal verwijderen wanneer je klaar bent.

Fortune.
%Europe/Berlin %760 %2010, 18:15
Dankjewel! Het is gelukt haha.