Tengo un movieclip que uso como botón, y una clase externa con la cual le añado control e interactividad. En esta clase le añado los listeners, y las funciones over, up, down, etc. típicas de un botón. El problema es que al hacer click al botón quiero dejarlo inactivo, y para ello en la función down le quito los listeners, pero no resulta! cuando muevo el mouse sobre el botón a{un tiene las funciones over, up, etc a pesar que ya las he removido. ¿Porqué no se van las funciones si las he removido? Este es mas o menos el codigo:
Código :
package { import flash.display.*; import flash.text.*; import flash.geom.ColorTransform; import flash.events.*; public class BtnCuadSelect extends MovieClip { public function BtnCuadSelect():void { this.mouseChildren=false; this.buttonMode=true; init(); } public function init():void { addEventListener(MouseEvent.MOUSE_OVER,over); addEventListener(MouseEvent.MOUSE_OUT ,up); addEventListener(MouseEvent.MOUSE_DOWN ,down); } private function over(evt:MouseEvent):void { //acciones... } private function up(evt:MouseEvent):void { //acciones... } private function down(evt:MouseEvent):void { removeEventListener(MouseEvent.MOUSE_OVER,over); removeEventListener(MouseEvent.MOUSE_OUT ,up); removeEventListener(MouseEvent.MOUSE_DOWN ,down); this.buttonMode=false; } } }
Puede alguien darme una idea de cuál es el problema, qué estoy haciendo mal? Gracias...