Comunidad de diseño web y desarrollo en internet online

Duda sobre Event.ADDED ...

Citar            
MensajeEscrito el 13 Ene 2010 07:54 am
Si estoy en mi documment class: main.as
Y en el escenario hay MovieCLips anidados: clip1.clip2.clip3

Se que puedo acceder a ellos a travez de: this.clip1.clip2.clip3

Pero que tal si clip3 se encuentra en un frame que aun no se corre...ADDED ejecutado desde main.as me podria servir para notificarme cuando se crea este clip3? algo asi: this.clip1.clip2.clip3.addEventListener(MouseEvent.CLICK, _onClick);

Lo pregunto, por que lo intente pero no me sirvio, o no se si no la este utilizando correctamente, o sino sea esa su funcionalidad...

Por cpucpu

82 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ene 2010 01:17 pm
No puedes agregar un listener a algo que aun no se encuentra en el DisplayList. En la medida en que avances en la programacion en AS3 con clases deberas irte olvidando del timeline

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Ene 2010 03:21 pm
Tal y como dice Jorge NO se puede agregar un listener a algo que no se encuentra en ese momento (tampoco cambiarle las propiedades ni nada por el estilo) Así que, si no quieres olvidarte del timeLine, una opción es hacer un dispatchEvent.
Vamos, en el frame de clip1 (quiero decir en el símbolo -Clase- del que procede "clip1") puedes escribir

Código ActionScript :

dispatchEvent(new Event("MI_EVENTO"))

Vamos, cuando pase por ese frame lanzará un evento llamado "MI_EVENTO".

Claro que ese evento "personalizado" que se dispatch lo tienes que recoger. Como el evento se dispatcha desde la Clase de la cual procede Clip1, en la película principal puedes escribir

Código ActionScript :

clip1.addEventListener("MI_EVENTO",haz_algo)
function haz_algo(e:Event){
     ...aquí lo que sea...
}

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ene 2010 06:18 pm
Pero no caeria en lo mismo?
en agregarle una propiedad(addEventListener) a un objeto que aun no se encuentra en la display list(clip)?

Por cpucpu

82 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ene 2010 06:56 pm
Ok, ya le entendi. El evento no lo despacharia clip1, sino su parent.

Gracias a los dos, ambos conocimientos me ayudaran comprender y a utilizar mejor esta herramienta.

Por cpucpu

82 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2010 08:06 am
El evento lo dispatcha "clip1" (puesto que el dispatchEvent lo hemos puesto en un frame de "clip1"), lógicamente el addEvent lo hacemos sobre "clip1" que está en el escenario

Por Eliseo2

710 de clabLevel



 

firefox

 

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