Nombrar un swf con una variable

Que me está volviendo loco:
tengo un archivo principal, index.swf.
Cargo otro swf en el nivel 1: loadMovieNum("a.swf", 1); que se para a la mitad por medio de un stop(); en su línea de tiempo. El siguiente fotograma tiene la etiqueta "parte2", y en el último fotograma hay otro stop();.
En la línea de tiempo principal (index.swf) hay un clip de película, que contiene botones. Cada uno está asociado a un swf distinto, con lo que a pulsar debe hacer dos cosas:
1º, continuar la reproducción del swf que está parado en el nivel 1: on (release) {_level1.gotoAndPlay("parte2");}
2º, cargar en su lugar el swf al que hace referencia el botón.
Problema: si tras el paso 1 pongo directamente en el on (release) dentro del botón: loadMovieNum("b.swf", 1); entonces no da tiempo a que se vea la segunda parte del swf que está en el nivel 1 antes de que se cargue el nuevo.
Intento de solución: En cada botón (o en cada frame del clip, ya que es 1 frame/1 botón), antes que nada asigno una variable global con el nombre del swf que debe cargar: _global.pagina="a.swf"; (o"b.swf", "c.swf" o "d.swf", según el botón).
Luego, en el último frame de cada .swf, para que siempre ocurra en el ya cargado (o sea, en el que está en ese momento en el nivel 1 reproduciendo su segunda parte) y antes del stop(); pongo que cargue el nuevo swf cuyo nombre contiene la variable: loadMovieNum(página, 1); pero no lo carga.
Creo que es un problema de niveles, pero he intentado un montón de rutas absolutas y relativas, _level0, etc. Y no lo consigo. También he prbado a concatenar comillas por si era problema de sintaxis: loadMovieNum('"'+página+'"', 1); pero nada.
También me mosquea que si le pongo un trace("la página es"+página); la salida no me devuelve nada. ¿El trace no funciona si se encuentra en otro swf distinto del principal? No puedo asegurarme de si la variable llega o no, o si el problema es de los niveles.
Bueno, espero haberme explicado bien, ¡Cualquier ayuda se agradecerá!

1 Respuesta

Respuesta
1
Siempre cuando cargas algo en mismo nivel, se borra todo lo que hay en este mismo nivel.
Puedes solucionarlo con carga en distintos niveles o también en vez de cargar en nivel puedes cargar en movieclip, crea un movieclip por ejemplo con nombre de instancia "carga" o (carga1, carga2, carga3... etc)
Y carga el contenido con
loadMovie("archivo.swf", carga1);
loadMovie("archivo.swf", carga2);
loadMovie("archivo.swf", carga3); asi puedes controlar cada carga externa y una vez ya cargado desaparecerlo con carga1._visible = 0; y aparecerlo con carga1._visible=1;  ahoras un monton de datos de cargarlo cadavez que tenga que aparecer..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas