Home » AS2 »Avanzado »Tutoriales » Currently Reading:

Precargas múltiples de SWF y JPG simultanea en un sólo preload

febrero 11, 2007 AS2, Avanzado, Tutoriales 10 Comments
Precargas múltiples de SWF y JPG simultanea en un sólo preload

Este código permite crear una precarga única para varios archivos (swf o jpg) externos. Es decir sólo aparecerá una barra de preload mientras se cargan estos archivos y una vez esten todos cargados se mostrarán a la vez.

  1. var precarga:MovieClipLoader = new MovieClipLoader();
  2. precarga.addListener(this);
  3. function onLoadStart(clip:MovieClip)
  4. {
  5.         clip._visible = false;
  6.         clip.stop();
  7. }
  8. function onLoadProgress(clip:MovieClip, bytesLoaded:Number, bytesTotal:Number)
  9. {
  10.         porcentaje = Math.round(bytesLoaded / bytesTotal * 100);
  11.         porcentajeTotal = Math.round(porcentaje / list_swfs.length + 100 / list_swfs.length * cargando);
  12.         preload.gotoAndStop(porcentajeTotal);
  13.         preload.cargando.text = "Loading: " + list_nombres[cargando];
  14. }
  15. function onLoadInit(clip:MovieClip)
  16. {
  17.         cargando++;
  18.         cargaMultiple();
  19. }
  20. //--------------------------
  21. function cargaMultiple(queX:Number, queY:Number)
  22. {
  23.         if (!cargando) {
  24.                 cargando = 0;
  25.                 this.attachMovie("preload", "preload", this.getNextHighestDepth());
  26.                 preload._x = queX;
  27.                 preload._y = queY;
  28.         }
  29.         if (cargando < list_swfs.length) {
  30.                 precarga.loadClip(list_swfs&#91;cargando], list_contenedor[cargando]);
  31.         } else {
  32.  
  33.                 for (i = 0; i < list_swfs.length; i++) {
  34.                         this&#91;list_contenedor[i]]._visible = true;
  35.                         this&#91;list_contenedor[i]].play();
  36.                 }
  37.                 removeMovieClip(preload);
  38.         }
  39. }
  40. &#91;/as]</div>
  41. Para realizar la carga de archivos crearemos una serie de Arrays:
  42. <div id=codigo>[as]//listado de las rutas de los archivos externos a cargar
  43. var list_swfs:Array = ["peli1.swf", "peli2.swf", "01.jpg", "02.jpg", "03.jpg", "04.jpg"];
  44.  
  45. //listado de los MovieClips vacíos donde cargar los archivos externos
  46. var list_contenedor:Array = ["menu1", "menu2", "fot1", "fot2", "fot3", "fot4"];
  47.  
  48. //listado de títulos de los archivos externos
  49. var list_nombres:Array = ["Menu superior", "Menu Inquierdo", "Foto 1/4", "Foto 2/4", "Foto 3/4", "Foto 4/4"];
  50.  
  51. //se inicia la carga. Debemos indicar la posición X y Y del MovieClip del preload
  52. cargaMultiple(50, 50);

Para más información pueden ver el tutorial que escribí para Cristalab. 😉

Compártelo:

Precargas múltiples de SWF y JPG simultanea en un sólo preload
Visto 16.318 veces

Currently there are "10 comments" on this Article:

  1. Daniel Calonga dice:

    como puedo recargar un swf y un mp3 al mismo tiempo??

  2. muy bueno el tuto, pero necesito que los archivos externos no se carguen al mismo tiempo tengo un intro contactos servicios galeria en archivos independientes necesito que se carguen

  3. admin dice:

    @Daniel Calonga: En el array de archivos a cargar pon la url de los dos archivos y listo 😉

  4. admin dice:

    @Juan Carlos Iñaguazo: Si no quieres cargarlos al mismo tiempo, si no cada vez que entras a la sección, necesitas un preload simple. A menos de que quieras cargarlo todo al principio para tenerlo en caché (pero no es recomendable).

  5. Emanuel dice:

    Buenas, estoy probando el codigo, porque quiero cargar varios swf para que una vez cargados sea rapida la navegacion del sitio, que es todo flash. No me aparece la barra de carga, ni se puede direccionar una vez terminada la carga?

  6. Alejandro dice:

    Buenas,tengo hecho un slide en donde pasan fotos y entre foto y foto hice una transición de fusión entre foto y foto. El problema es que las fotos son jpg externos y mi preload carga solo el swf y cuando arranca la animación, empieza a correr la palicula pero no sellegan a cargar los jpg… ¿me estoy explicando bien?
    lo que necesito es que el preload cargue el SWF y ademas los jpg externos que se van a leer en la pelicula y despues arranque el slide. ¿me sirve este preload o tengo que modificarle algo?? Gracias de antemano!

  7. Morley dice:

    Hay alguna forma de que se precarguen los contenedores en diferentes Fotogramas?

  8. jose diaz dice:

    mi pregunta es como meto ese codigo en html, me explico, como seria la sintaxis para que corra en html?

  9. amigo dice:

    Cool! esta padrisimo… me sirve

    Mmmm.. le hice algunos arreglos 😉

    var precarga:MovieClipLoader = new MovieClipLoader();
    precarga.addListener(this);
    function onLoadStart(clip:MovieClip)
    {
    // tamaños…
    clip.W = preload.W;
    clip.H = preload.H;
    trace(” W: “+clip.W+”, H: “+clip.H+” | clip: “+clip);
    clip._visible = false;
    }
    function onLoadProgress(clip:MovieClip, bytesLoaded:Number, bytesTotal:Number)
    {
    porcentaje = Math.round(bytesLoaded / bytesTotal * 100);
    porcentajeTotal = Math.round(porcentaje / list_swfs.length + 100 / list_swfs.length * cargando);
    preload._x = clip._x + clip.W/2;;
    preload._y = clip._y + clip.H/2;;
    preload.carga_txt.text = list_nombres[cargando] + ” [” + porcentaje + “%]”;
    }
    function onLoadInit(clip:MovieClip)
    {
    //
    clip._visible = true;
    clip._width = clip.W;
    clip._height = clip.H;
    //
    cargando++;
    cargaMultiple();
    }
    //————————–
    function cargaMultiple(queX:Number, queY:Number)
    {
    if (!cargando) {
    cargando = 0;
    this.attachMovie(“preloader”, “preload”, this.getNextHighestDepth());
    preload._x = queX;
    preload._y = queY;
    }
    if (cargando <list_swfs.length) {
    preload.W = this[list_contenedor[cargando]]._width;
    preload.H = this[list_contenedor[cargando]]._height;
    precarga.loadClip(list_swfs[cargando], list_contenedor[cargando]);
    } else {
    removeMovieClip(preload);
    }
    }

    //listado de las rutas de los archivos externos a cargar
    var list_swfs:Array = ["../../_insumos/images1.jpg", "../../_insumos/images2.jpg", "../../_insumos/images3.jpg"];

    //listado de los MovieClips vacíos donde cargar los archivos externos
    var list_contenedor:Array = ["thumb1", "thumb2", "thumb3"];

    //listado de títulos de los archivos externos
    var list_nombres:Array = ["foto 1", "imagen 2", "pic 3/3"];

    //se inicia la carga. Debemos indicar la posición X y Y del MovieClip del preload
    cargaMultiple(50, 50);

  10. FRANCISCO dice:

    Tengo una pregunta sobre el preloader….

    Si todos los archivos externos los cargo en un movieclip que se llama “CARGAS”

    y cuando hago la llamada a ellos, el movieclip de carga es distinto…. utiliza el archivo externo ya precargado en el movie clip “CARGAS” ?

    Como en este caso: loadMovie(“05.swf”, placeholder_mc12);

    Ahi le estoy diciendo que lo cargue en un movieclip vacio que se llama paceholder_mc12.. pero en el preloader lo carqué en “CARGAS” …

    Muchas gracias y felicidades el preloader funciona excelente, solo tengo esa duda… saludos

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