Como ir a un frame de x.swf desde y.swf

Estoy desarrollando una Web en Flash y debido al gran tamaño de la misma, la voy a realizar en varios ficheros swf. Ahora tengo que llamar desde mi fichero y.swf a el frame 455 de mi otr fichero x.swf y no se como.

1 Respuesta

Respuesta
1
Si el swf al que cuya linea de tiempo quieres hacer referencia lo has cargado con la opcion loadMovie("ruta","_root.instancia"); entonces lo unico que tienes que hacer es escribir _root.instancia.gotoAndPlay(455);
Si no lo has hecho así la cosa se complica. Lo mejor es tener un swf principal y desde ese cargar los demás creando clips vacíos manualmente, colocándolos en la escena y dándoles un nombre de instancia. Después cargas un archivo con ese nombre de instancia y tendrás el control absoluto sobre el.
En un principio no los tengo enlazados de ningún modo. ¿Podría hacerlo como tu dices que quieres decir con "_root.instancia". Tengo que declarar esto en algún sitio en concreto?
Con instancia me refería al nombre de instancia. Veras, cuando añades un clip de película a una escena, si haces click sobre el y después despliegas la pestaña propiedades, veras que a la izquierda te da la opción de drale un nombre de instancia al clip. Dicho clip es una copia del original así que a cada copia que le hagas le puedes dar un nombre de instancia. Después cada vez que quieras hacer referencia a ese clip tienes que poner _root. Delante del nombre de instancia y listo. Si con actionScript no vas a hacer referencia a ningún clip, entonces no es necesario poenrle nombre de instancia. Espero haberte ayudado. Si tienes más dudas pregunta.
Mi problema es que no tengo que llamar a un movieclip sino a un frame. Me voy a intentar explicar mejor para ver si me puedes describir el código.
Yo cargo primero a.swf y desde allí llamo a b.swf, a través de un botón, que se carga bien ya que lo llamo desde el principio. Bien ahora en un botón de b.swf tengo que llamar al frame 455 de a.swf, y teniendo en cuenta que ese frame no contiene un movieclip ni es comienzo de ninguna escena ya que solo tiene una escena dicho swf.
Siento las molestias y muchas gracias por adelantado
Es que no entiendo como lo haces. ¿Si llamas a un swf como lo haces? Mira una alternativa es que desde a.swf cargues b.swf con la opción loadMovie. Entonces a habrá cargado b. Bueno ahora lo que tienes que hacer es en el botón de b poner:
on(press){
_parent.gotoAndPlay(455);
}
Pues con esto consigues lo que me pides, pero tienes que tener clara una cosa. Para que esto funcione, a debe llamar a b, de forma que a es el "padre" de b (por eso se pone _parent), pero a nodebe morir ni ser unloaded, porque si no a dejaría de ser el padre de b y b seria huérfano. No se si me he explicado bien. Si no es así, vuelve a preguntar.
Estoy probando tu código, en concreto en a.swf pongo:
on (press){
loadmovie("b.swf","")
}
y luego en b.swf tengo:
on (press){
_parent.gotoAndPlay(455)
}
Con este código se que me carga b.swf desde a.swf, pero no vuelve a a.swf desde b.swf
No se si será por no indicar destino en el loadmovie de a.swf, pero es que no sé que destino indicarle
Es más o menos así. Lo que pasa es que deberías de haber hecho otra cosa:
En a crea un clip de película vacío manualmente, es decir que te vallas al menu y elijas la opción nuevo símbolo y coloques este símbolo en el sitio que necesites (elige que el símbolo sea un clip de película). A este clip no le pongas nada dentro (clip vacío). Ahora selecciona el clip y vete a propiedades. Veras que hay una casilla a la izquierda en la que puedes ponerle un nombre de instancia. Pónselo. Bien ya esta casi terminado. Ahora cuando cargues el clib b.swf le tienes que decir que lo cargue en el clip vacío. Si el nombre de instancia que le diste fue, por ejemplo peli, lo que tienes que hacer es decir que lo cargue en "_root.peli". o sea:
loadMovie("b.swf","_root.peli");
Y cuando llames al fotograma prueba a poner lo de _parent. goto....
Si esto no te funciona, entonces tienes otra alternativa. Si a.swf lo cargaste en una película cualquiera tienes que hacer lo que has hecho con B (lo de crear una peli vacía y ponerle nombre de instancia y todo eso) en esa película, pero. Y cuando cargues a le dices que te lo cargue en _root. Instancia, donde instancia es el nombre de instancia que le diste a A.swf. entonces en vez de poner _parent tienes que poner _root. Instancia. Bueno espero que funcione. Si no te funciona te puedo mandar un ejemplo sencillo al correo para que lo veas más claramente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas