Foros del Web » Creando para Internet » Flash y Actionscript »

Evento personalizado en AS3 no funciona

Estas en el tema de Evento personalizado en AS3 no funciona en el foro de Flash y Actionscript en Foros del Web. He creado un evento propio, el cual es lanzado por una clase y escuchado por otra, pero no consigo hacerlo funcionar. Estos son los trozos ...
  #1 (permalink)  
Antiguo 09/07/2009, 05:41
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 21 años, 5 meses
Puntos: 3
Exclamación Evento personalizado en AS3 no funciona

He creado un evento propio, el cual es lanzado por una clase y escuchado por otra, pero no consigo hacerlo funcionar. Estos son los trozos de código:

Creación del evento en ObjetoActivoEvent.as:

Código PHP:
package {
    
    
import flash.events.Event;
    
    public class 
ObjetoActivoEvent extends Event {
        
        public static const 
ACTIVADO:String "activado";
        
        function 
ObjetoActivoEvent(type:String):void {
            var 
bubbles:Boolean true;
            
super(typebubbles);
        }
    }

dentro de MiObjeto.as se lanza el evento en un momento determinado:

Código PHP:
// Lanzar evento de objeto activado
dispatchEvent(new ObjetoActivoEvent("Event.ACTIVADO")); 
y dentro del FLA, añado el detector o listener. Lo he de añadir a la instancia de una clase que contiene a su vez los objetos que lanzan dicho evento, ya que necesito aplicar la funcionalidad desde la clase contenedora:

Código PHP:
contenedor.addEventListener(ObjetoActivoEvent.ACTIVADOobjetoActivo);

function 
objetoActivo(e:ObjetoActivoEvent):void {
    
trace("Se ha activado el objeto: " e.target);

Tras probar esto, no obtengo ni errores de compilación ni de ejecución, pero tampoco ocurre nada cuando se lanza el evento (no se ejecuta el trace())

Alguna ayuda?
  #2 (permalink)  
Antiguo 09/07/2009, 10:36
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Respuesta: Evento personalizado en AS3 no funciona

Esto esta mal

Código actionscript:
Ver original
  1. dispatchEvent(new ObjetoActivoEvent("Event.ACTIVADO"));

deberia ser

Código actionscript:
Ver original
  1. dispatchEvent(new ObjetoActivoEvent(ObjetoActivoEvent.ACTIVADO));

Saludos! 8)
  #3 (permalink)  
Antiguo 09/07/2009, 11:00
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 21 años, 5 meses
Puntos: 3
Respuesta: Evento personalizado en AS3 no funciona

Ah pues si! Ya funciona!! Pensaba que se debía pasar como cadena, ya que el constructor de Event espera un String.

Muchas gracias TMeister!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:40.