Comunidad de diseño web y desarrollo en internet online

Referencia a instancias

Citar            
MensajeEscrito el 14 May 2007 10:12 am
Hola, a ver si alguien me puede echar una mano con esta duda:

Tengo un flash con varias secciones. Éstas están cada una dentro de un movieclip, y a su vez cada uno de estos clips ocupa un frame del moviclip _parent, es decir:

pages.page1 está en el frame 1 de pages
pages.page2 está en el frame 2 de pages
etc...

Hasta ahora todo el AS de cada sección estaba dentro del movieclip respectivo, así que iba sin problemas, pero ahora necesito mover parte de ese código fuera de esos movieclips para inicializar ciertas cosas en ellos (algunos loadmovies y carga de datos de xml) antes de que se entre en las secciones.

El problema es que por alguna razón no soy capaz de hacer referencia a los movieclips de las secciones. Desde _root si hago por ejemplo un trace(this.pages) me sale correcto, pero si hago trace(this.pages.page1) me da undefined.
Si dentro de page1 pongo trace(this) el resultado es _level0.pages.page1 cuando entro en esa sección, así que la ruta parece correcta.

Lo único que se me ocurre es que las secciones no estén definidas hasta que aparezcan en la línea de tiempo... espero que no sea así (o haya alguna solución alternativa que pueda implementar rápido) porque si no me obligaría a replantear completamente todo el tema, y no dispongo de demasiado tiempo.

Un saludo, y gracias.


PD: bueno, en realidad estoy viendo que trace(this.pages.page1) sí funciona, pero sólo para esa sección que es la que está en el frame1. Esto me hace pensar que mis sospechas pueden ser ciertas...

Por kornshell

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 May 2007 03:45 pm
mhh.. pero no me queda claro si necesitas que los objetos continuen en el scope de los demás frames, puesto que por mientras lo que puedes hacer es poner un

Código :

trace(this)


dentro de cada uno de los movie clips para saber cual es la ruta en la cual se encuentran, pero, quieres que sigan siendo visibles durante los demás frames?
por que si ese es el caso lo puedes poner en otra capa y que esta continue durante la reproduccion de toda la animacion... pero para saber mejor lo que quieres hacer, puedes poner un el codigo de lo que tratas de hacer y lo que tratas de hacer para ver si me es posible ayudarte.
Saludos.

Por zelgadiss01

87 de clabLevel



 

The Silent Hills

msie
Citar            
MensajeEscrito el 14 May 2007 07:21 pm
Gracias, el asunto era efectivamente poder acceder a cada movieclip desde los movieclips de otros frames, pero ya he visto que (al menos hasta donde yo se) no es posible. Las rutas las conozco, pero al salir del frame en cuestión todos los objetos de ese mc quedan "undefined".

Haré eso, pasar los clips que necesito a otra capa con más frames y jugar con la visibilidad en vez de encerrarlos en un único frame. Al final va ser mejor solución y todo que la que había pensado, porque así empiezan a reproducirse estando ocultos y se va ejecutando el código que los inicializa en vez de tener que llamar yo a las funciones desde fuera (o eso espero, he estado trabajando en otras partes del flash y no he tenido tiempo aun de probar).


Saludos, y gracias.

Por kornshell

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 May 2007 01:27 pm
Ahh, lo que pasa es que te quedan undefined por que el scope(tiempo de vida del objeto) es solo durante el frame en el que se encuentran, así que al pasar a otro frame ese objeto se elimina, puesto que ya no se va a usar (por lo del recolector de basura del lenguaje)... por lo tanto esa es la razón por la cual no puedes acceder a los objetos del frame una vez que te encuentras en otro frame.

Saludos.

Por zelgadiss01

87 de clabLevel



 

The Silent Hills

msie

 

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