Home » Básico »Flash » Currently Reading:

Abrir pelicula en un frame concreto

junio 9, 2006 Básico, Flash 5 Comments
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:

  1. on (release) {
  2. loadMovie("peli2.swf", "contenedor");
  3. contenedor.gotoAndStop(50);
  4. contenedor.texto.text = "Texto pasado desde la pelicula principal";
  5. }

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:

  1. on (release) {
  2. var loader:MovieClipLoader = new MovieClipLoader();
  3. loader.addListener(this);
  4. loader.loadClip("peli2.swf", contenedor);
  5. function onLoadComplete(clip:MovieClip) {
  6. clip.gotoAndStop(50);
  7. clip.texto.text = "Texto pasado desde la pelicula principal";
  8. }
  9. }

Compártelo:

Abrir pelicula en un frame concreto
Visto 12.379 veces

Currently there are "5 comments" on this Article:

  1. Dago dice:

    wooa! xcelente, lo probaré, mira k me alegraste mi madrugada XD

  2. Armanda dice:

    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.

  3. Armanda dice:

    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.

  4. admin dice:

    @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.

  5. FABRISFPB dice:

    buen CÓDIGO PERO TENGO UNAS PREGUNTAS PORQUE ARMADA PUSO “AUTO” Y COMO HAGO PARA QUE TERMINADO O COMPLETA LA CARGA DEL PRIMER SWF LLEVE A OTRO SWF DENTRO DEL MISMO CONTENEDOR O DE OTRO Y PARA PASAR DESPUÉS A UNA ESCENA DE LA PELICULA PRINCIPAL

Comment on this Article:








Twitter: zguillez

AdvertisementAdvertisementAdvertisementAdvertisement

Recibe las novedades por email



Map

Ranking

Codigoactionscript.org: 4.65 sobre 5 (106 valoraciones)

twitter-widget.com