Comunidad de diseño web y desarrollo en internet online

Clase event

Citar            
MensajeEscrito el 06 Ago 2010 11:14 pm
Hola:
Teoria:
Si creo un evento llamado A, del tipo flash.events.Event y luego extiendo el evento A en evento B
y supongamos que evento A tiene

public static const GET_ALL:String="obtenerTodosEvent";
y para haceder a eso hago

var eventB:EventoB=new EventA(EventA.GET_ALL);
var eventC:EventoA=new EventA(EventA.GET_ALL);

Pregunta:

Si lanzo el eventoB. GET_ALL
y en otra parte hay esperando por GET ALL pero de eventC, puede eventC ser lanzado sin colocar un listener??
a??

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Ago 2010 01:58 am
Ambos eventos son del mismo tipo, asi que mas bien depende de donde coloques el listener,es como escuchar el click en un movieclip, puede detonarse el click donde sea pero mientras no se detone en el movieclip con listener nada va pasar.

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Ago 2010 03:32 am
Si evento A extiende flash.events.Event y en A tengo una clase publica c y una public var const Prueba:String="pruebaEvento"
luego creo un evento que es la extension de A (B extends A)
como llego ambas propiedades???

pensaba una cosa asi
var b:BEvent=new BEvent(BEvent.Prueba); //esto no es posible
por consiguiente esto tampoco
b.c ni b.Prueba

como se puede entonces???

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Ago 2010 08:19 am
BuenAS:

En ActionScript los métodos y propiedades estáticos NO SE HEREDAN. En tu caso BEvent no hereda las propiedades estáticas de AEvent. Para referirse a estas propiedades debes hacerlo a través de la clase AEvent.

Así, si extendieras la clase MouseEvent, por ejemplo, con NewMouseEvent, seguirías refiriéndote a MouseEvent.CLICK para añadir un listener a un botón sobre el que quieres clicar y NO lo harías como NewMouseEvent.CLICK.

Otra cosa referente a extender clases de eventos. Si añades un parámetro, algo bastante habitual cuando se crea un evento propio tienes que sobrescribir el método clone. Por ejemplo si extiendes de Event la nueva clase NewEvent:

Código ActionScript :

public var nuevoParametro:String;
public function NewEvent(type:String, nuevoParametro:String; bubbles:Boolean=false, cancelable:Boolean=false)
{
   super(type, bubbles, cancelable);
        this.nuevoParametro= nuevoParametro;
}
override public function clone():Event
{
   return new NewEvent(type, nuevoParametro, bubbles, cancelable);
}

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.