Comunidad de diseño web y desarrollo en internet online

Problemas con el stage al cargar un archivo swf externo

Citar            
MensajeEscrito el 02 Ene 2009 03:40 am
Hola a todos y feliz año.

El problema con el stage es el siguiente:

1) Tengo un archivo tema_1.fla que esta asociada al documentClass "temas_class.as" y tiene entre otras cosas las siguientes instrucciones:

Código :

   stage.addEventListener(MouseEvent.CLICK, stage_function_click);
   stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_function_move);


al ejecutar el swf en forma independiente, este se ejecutua correctamente. HASTA AQUI TODA VA BIEN

2) Cree otro archivo libro_indices.fla, el cual es un archivo de indices que debe cargar cada uno de los diferentes temas (tema_1.swf, tema_2.swf, etc):

Código :

   var loader:LoadDisplayObject = new LoadDisplayObject(tema_1, false);
   addChild(loader);


Al ejecutar primero el libro_indices.swf y al cargar el tema_1.swf marca TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo, este error ocurre en:

Código :

   stage.addEventListener(MouseEvent.CLICK, stage_function_click); 



Como el primer swf ejecutado es el propietario del stage. El archivo tema_1.swf ya no es el propietario del stage, el propietario del stage es libro_indices.swf

3) Para tratar de corregir este error, quite las instrucciones del archivo "temas_class.as" (documentClass) el cual esta ascociado a tema_1.fla

Código :

   stage.addEventListener(MouseEvent.CLICK, stage_function_click);
   stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_function_move);


y las modifique por:

Código :

addEventListener(Event.ADDED, init_stage); 
// addEventListener(Event.ADDED_TO_STAGE, init_stage); /* Tambien probee con ADDED_TO_STAGE */

public function init_stage(e:Event):void {
              removeEventListener(Event.ADDED, init_stage);
              stage.addEventListener(MouseEvent.CLICK, stage_function_click);
              stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_function_move);
 }


esto tampoco funciona en forma correcta, alguna sugerencia o comentario.

Gracias a todos por su atención.

Por lororojo

52 de clabLevel



 

msie
Citar            
MensajeEscrito el 02 Ene 2009 11:28 pm
En vez de stage, pon this.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 03 Ene 2009 05:52 pm
Zah, Gracias por tu ayuda.

Probé cambiando el stage por el this y obtuve los siguientes resultados:

1) La aplicación funciona bien en una máquina en forma local (Ejecute la aplicación completa 5 veces sin ningún error)

2) La aplicación falla desde la primera ocasión cuando se ejecuta desde la Web al entrar al tema_1.swf (Algunos botones que están en tema_1.swf no ejecutan al darles el click)

3) Probé usando el explorador 7 y flash player 10, también probé con el mozilla firefox 3.0.5 en ambos caso falla

Cualquier sugerencia se agradece.

Por lororojo

52 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Ene 2009 06:47 pm
Probablemente estés ejecutando alguna acción antes de que algo (como un swf) haya terminado de cargarse.

Comprueba que todas las acciones que lo necesiten estén ejecutadas por eventos COMPLETE.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox

 

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