Tengo una aplicación Drag and Drop en la cual puse un contador para ir sumando cada vez que se agrega un ingrediente en un caldero haga una suma, si esa suma es tres, es decir, si el usuario arrastro 3 objetos al caldero pasar al frame 3
Código ActionScript :
Código ActionScript :
package net.dnddigital.dragdrop { import flash.events.MouseEvent; import flash.display.MovieClip; import flash.geom.Point; public class ObjetoArrastrable extends MovieClip { protected var posicionOriginal:Point; public var contador:uint = 0; public function ObjetoArrastrable() { posicionOriginal=new Point(x,y); buttonMode=true; addEventListener(MouseEvent.MOUSE_DOWN, down); } protected function volverAlInicio():void { x=posicionOriginal.x; y=posicionOriginal.y; } protected function down(event:MouseEvent):void { parent.addChild(this); startDrag(); stage.addEventListener(MouseEvent.MOUSE_UP, stageUp); } protected function stageUp(event:MouseEvent):void { trace(dropTarget.parent.name); stage.removeEventListener(MouseEvent.MOUSE_UP, stageUp); stopDrag(); if (dropTarget.parent.name=="caldero") { contador++; trace(contador); y=stage.stageHeight-height+500; buttonMode=false; if (contador==3) { trace("ahora"); MovieClip(this.parent).gotoAndStop(3); removeEventListener(MouseEvent.MOUSE_DOWN, down); } }else{volverAlInicio();} } } }
El problema es que mi contador "no cuenta" porque al parecer la línea de stage.removeEventListener(MouseEvent.MOUSE_UP, stageUp); me resetea el stage o algo así, y cuando agrego otro objeto sigue diciendo que fue "1" y no "2" o "3". Si saco esa linea el programa se corrompe muchísimo...
Alguna sugerencia?
De antemano gracias