Abrir pelicula en un frame concreto
Puede que al cargar peliculas externas dentro de nuestra palicula principal nos interese que esa pelicula cargada se reproduzca a partir de un fotograma concreto o con algunas variables internas con un valor en determinado.
Pongamos por ejemplo que queremos cargar una pelicula dentro de un movieclip llamado "contenedor", y además queremos que se reproduzca a partir del fotograma 50 y que un campo de texto que contiene esta pelicula contenga el texto "Texto pasado desde la pelicula principal".
Podriamos utilizar el siguiente código:
-
on (release) {
-
loadMovie("peli2.swf", "contenedor");
-
contenedor.gotoAndStop(50);
-
contenedor.texto.text = "Texto pasado desde la pelicula principal";
-
}
El problema de este código es que primero ejecuta el loadMovie con lo que la pelicula externa empiaza a cargar, luego ejecuta el gotoAndStop y luego se pasa la información del texto. El problema es que al ejecutarse estas dos últimas acciones la pelicula externa aun no esta completamente cargada, asà que se están ejecutando dentro de un movieclip "contenedor" aun vacio... con lo que al terminar de cargar la pelicula, esta se reprodurá desde el primer fotograma y el campo de texto no mostrará el texto deseado.
Para que esto no ocurra deberÃamos esperar a que la pelicula externa este completamente cargada dentro de la pelicula principal antes de mandarle cualquier acción.
El evento onLoadComplete de la clase MovieClipLoader nos permite detercar el momento en el que la pelicula externa se ha cargado por completo, de manera que nos permite pasarle la información necesaria a la pelicula para que se reproduzca tal y como nos interese.
El código serÃa el siguiente:
-
on (release) {
-
var loader:MovieClipLoader = new MovieClipLoader();
-
loader.addListener(this);
-
loader.loadClip("peli2.swf", contenedor);
-
function onLoadComplete(clip:MovieClip) {
-
clip.gotoAndStop(50);
-
clip.texto.text = "Texto pasado desde la pelicula principal";
-
}
-
}
Post relacinonados:
4 Comments »
RSS feed for comments on this post. TrackBack URI










wooa! xcelente, lo probaré, mira k me alegraste mi madrugada XD
Hola, lo comprobé y funciona. Pero quisiera hacerte una consulta, ya que soy bastante inexperta en estas cuestiones. Tu ejemplo es para que funcione al hacer click en un botón pero si quisiera que la pelÃcula cargara automáticamente al cargar la pelÃcula que contiene el contenedor. ¿Cuál serÃa la forma correcta de escribir el código?
Muchas gracias.
Mmmm otra cosa yo escribà el código asà :
bot_btn.onRelease=function(){
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(this);
loader.loadClip("p2.swf", cont_anim_mc);
function onLoadComplete(clip:MovieClip) {
clip.gotoAndStop("auto");
}
}
Estoy comentiendo alguna barbaridad?
Gracias.
@Armanda: Si lo que quieres hacer es que cargue directamente con la pelicula principal lo único que has de hacer es poner el código fuera de la función onRelease(); pociendolo directamente en el fotograma.