Comunidad de diseño web y desarrollo en internet online

Problema ADDED_TO_STAGE

Citar            
MensajeEscrito el 16 Mar 2010 07:07 pm
Buenas, veréis tengo un cargador de fotos que tiene una foto asignada y carga la foto al hacer ADDED_TO_STAGE del objeto grafico que lo contiene. Bien pues este objeto está en una animación que navegando puede volver a pasar por el fotograma donde se encuentra, realizandose de nuevo el ADDED_TO_STAGE y recargando la foto, con el inconveniente que esto lleva ya que el segundillo que tarda en cargarla pues se ve el fondo blanco. ¿Cómo podría evitar esto? ¿Como podría hacer esto si el codigo de todo empieza a correr con el ADDED_TO_STAGE

en mi constructor

Código ActionScript :

this.addEventListener(Event.ADDED_TO_STAGE, hola);



Mi funcion de escucha

Código ActionScript :

private function hola(event:Event):void {

//codigo para cargar la foto

} 


Muchas gracias

Por negro81

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Mar 2010 07:22 am
Puedes eliminar el listener ADDED_TO_STAGE

Código ActionScript :

private function hola(event:Event):void { 
   this.removeListener(ADDED_TO_STAGE,hola)
   //codigo para cargar la foto 
 } 

o puedes usar una variable

Código ActionScript :

var yet:bool=false
private function hola(event:Event):void { 
   if (!yet){
      //codigo para cargar la foto 
   }
   yet=true
 } 

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Mar 2010 04:21 pm
Hola, gracias por responder:

He visto que cuando se sale del fotograma salta el evento REMOVED Y REMOVED_FROM_STAGE, lo que me da que pensar que el objeto se borra y que al volver a pasar, el objeto es otro nuevo que carga de nuevo la foto, así que voy a comprobar si apesar del "borrado" pudiera hacer un "buscar si la imagen está ya en el escenario" y así evitar una segunda recarga, no sé si funcionará

Por negro81

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Mar 2010 04:45 pm
Tienes razón, no leí mucho tu enunciado :bate: :bate: (son para mí)
Supongo que lo que puedes hacer es crearlo una única vez y hacerlo visible/invisible cuando pase/salga del frame.

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Mar 2010 05:00 pm
Se me ha pasado poner algo importante. El objeto se pone en el escenario de forma estática y cuando corre la pelicula carga las propiedades y con ellas, la foto.

Por negro81

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Mar 2010 02:23 pm
se me ocurre que puedes declarar una variable de tipo bitmap donde cargarias la imagen y en el evento add to stage compruebas is la variables esta inicializada o no

Fotograma:

Código :

var imagen:Bitmap;


Y en el listener

Código :

private function hola(event:Event):void { 
    if(imagen == null){
         //cargar imagen y guardarla en la variable imagen
    }else{
         //usas la variable imagen para hacer el addchild
    }
}


A ver si te sirve, Saludos

Por GersonM_17

330 de clabLevel



Genero:Masculino   Héroes

Flash AS3 / PHP Developer

chrome
Citar            
MensajeEscrito el 18 Mar 2010 04:26 pm
Negro, lo que digo es que pongas tu objeto en una capa que ocupe TODA la película.
Luego es cuestión de que en el frame 1 pongas

Código ActionScript :

miobjeto.visible=false

En el frame donde quieres que aparezca

Código ActionScript :

miobjeto.visible=true

y en el siguiente frame, de nuevo

Código ActionScript :

miobjeto.visible=false

Ya sé que suena un poco "chapu" pero es que no se me ocurre mucho más

Por Eliseo2

710 de clabLevel



 

firefox

 

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