Comunidad de diseño web y desarrollo en internet online

Llamando a una variable desde un MC dentro de otro MC

Citar            
MensajeEscrito el 30 Ene 2009 08:57 pm
Hola a todos.
Tengo un problema al tratar de obtener ciertos datos, y aunque tengo más o menos claro dónde está el problema, no se bien cuál sea la solución. Les detallo la película en la que estoy trabajando:

En primer lugar tengo un swf principal que llama a una serie de variables via FlashVars. Además tiene un preloader de este tipo:

Código :

var id:String;
var i=0;
var flashVars:Object=LoaderInfo(this.root.loaderInfo).parameters;

id=String(flashVars.id);

// Precarga de las variables
loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);

function onLoadComplete (event:Event):void {                
   gotoAndPlay(2);
}
stop();


Todo esto, en el primer frame. Las 2 variables las puedo llamar desde el frame 2 sin problemas, funcionan. En el frame 2 cargo un swf externo dentro de un MovieClip.

En ese swf externo que está dentro del MovieClip tengo la siguiente sentencia y acá es donde creo que está el problema:

Código :

var id_sea = MovieClip(parent.parent.parent).id;
var i_sea = MovieClip(parent.parent.parent).i;
var bt_press = MovieClip(parent.parent.parent).getChildByName("verde_"+id_sea);
bt_press.visible = true;


getChildByName hace referencia a una serie de movieclips que tienen nombre verde_1, verde_2, etc.. y que son una serie de indicadores que se prenden según el valor de la variable.

El asunto es que esto me da un error 1009.

Hay un botón en el sfw principal que reemplaza el swf externo con otro, que tiene exactamente el mismo código de arriba. Lo curioso es que este segundo swf externo si toma estas variables correctamente. Entonces, asumo que habría un problema con los tiempos de carga.

Tengo más o menos aislado el problema, sé que son esos 3 MovieClip(parent.parent.parent) los que causan el error 1009. Si reemplazo los 2 primeros por valores (por ejemplo 1 y 2) funcionan. Pero si al tercero lo cambio por ejemplo por:

Código :

var bt_press = MovieClip(parent.parent.parent).verde_1;


Igual me da un error 1009. ¿Qué estoy haciendo mal?
Saludos!

Por -Javier-

21 de clabLevel



Genero:Masculino  

Diseñador programático o Programador gráfico

firefox
Citar            
MensajeEscrito el 02 Feb 2009 06:25 pm
Ok. Al parecer no era tan simple. Pero di con algo que parecer ser la solución.
Metí todo el contenido del swf externo en una función init() e hice una precarga y funcionó.
Saludos!

Por -Javier-

21 de clabLevel



Genero:Masculino  

Diseñador programático o Programador gráfico

firefox

 

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