Comunidad de diseño web y desarrollo en internet online

[AS3] Llamar funcion de stage desde clase

Citar            
MensajeEscrito el 03 Jun 2010 04:07 pm
Buenas, necesito ayuda amigoss!!
tengo una funcion, que necesito llamarla desde una clase... la estructura seria algo asi:




Stage - (el stage crea un loader, el cual carga un SWF)

swf - (el SWF tiene un movieclip, el cual tiene su propia clase (digamos Movieclip.as) y en esa clase, tengo un addeventlistener, que necesito que llame a una funcion en la cual tengo en el stage)

entonces en el stage tengo una funcion, la cual necesito llamar desde una clase... como hago para llamarla desde la clase? desde ya muchas gracias!

Por D0M41N

56 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 03 Jun 2010 04:12 pm
Intente con:
stage.nombredefuncion();
y no me lo permite, tambien intente con:
MovieClip(stage).nombredefuncion(); y tampoco me lo permite, y nose como meterlo directamente en el listener, que seria algo asi como:
movieclip.addEventListener(MouseEvent.CLICK, stage.nombredefuncion);

a alguien se le ocurre algo?

Por D0M41N

56 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 04 Jun 2010 06:26 am
Lo deberías poder hacer en dos pasos :(

Código ActionScript :

movieclip.addEventListener(MouseEvent.CLICK, nombredefuncion);
function nombrefuncion(e:Event){
    MovieClip(root).nombrefuncion()
}

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jun 2012 06:28 pm
Hola, se que esto es antiguo, pero puede ser interesante responderlo.

Yo lo he conseguido con:

Código ActionScript :

NomberDelMovieclip.root.stage


No me preguntéis cómo, porque ha sido a cabezazos :lol:

Por TheMagoZero

41 de clabLevel



 

Ingeniero Técnico Industrial

firefox
Citar            
MensajeEscrito el 17 Jun 2012 06:39 pm
Más explicación: Estaba intentando eliminar un listener del stage desde una clase, y lo conseguí así:

La declaración del listener la hice desde la clase directamente.

La instancia del objeto de esa clase era "miPanel":

La función constructora (con más cosas, pero me ciño a lo que nos interesa):

Código ActionScript :

public function panelDeDibujo():void {
 {stage.addEventListener(MouseEvent.MOUSE_UP, Panel_PanConMouseUp);
}


Ahora se supone que quiero destruir ese listener desde una instancia de otra clase ¿cómo lo hago? ... así:

Código ActionScript :

this.root.stage.removeEventListener(MouseEvent.MOUSE_UP, objeto.parent.miPanel.Panel_PanConMouseUp);


Espero que os sirva, me he dado de cabezazos :)

Por TheMagoZero

41 de clabLevel



 

Ingeniero Técnico Industrial

firefox

 

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