Tengo 3 clases :
a) la clase Main
b) la clase Acciones
c) la clase Eventos
El tema es que quiero que la clase main no siga ejecutando instrucciones hasta que alguna accion de la clase acciones haya terminado. Para eso se me ocurrio usar un evento personalizado.
Voy a simplificar el código a razón del objetivo.
la clase Eventos:
Código Flex :
package { import flash.events.Event; public class Eventos extends Event{ public static const ACCION_TERMINADA:String = "AccionTerminada"; public function Eventos(type:String):void { super(type); } public override function clone():Event { return new Eventos(type); } } }
La clase Acciones
Código Flex :
package { import flash.display.MovieClip; import flash.events.Event; public class Acciones extends MovieClip{ public function Acciones() { } public function realizaAccion(){ dispatchEvent(new Eventos(Eventos.ACCION_TERMINADA)); } } }
La clase Main
Código Flex :
package { import flash.display.MovieClip; import flash.events.Event; import Acciones; public class Main extends MovieClip { public var acciones:Acciones; public function Main() { acciones = new Acciones(); addChild(acciones); acciones.realizaAccion(); acciones.addEventListener(Eventos.ACCION_TERMINADA ,accionTerminada); } private function accionTerminada(e:Eventos):void{ trace("ACCION TERMINADA"); } } }
Bien el problema el siguiente. Nunca entra a la función accionTerminada.
¿Algo que estoy haciendo mal? o ¿Estaré encarando mal el problema de "detener la ejecución de las instrucciones hasta que no se realice la acción"?
Cualquier ayuda será bienvenida
Saludos