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

Posted by admin | AS2, Avanzado, Tutoriales | Sunday 11 February 2007 2:42 am

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.

var precarga:MovieClipLoader = new MovieClipLoader();
precarga.addListener(this);
function onLoadStart(clip:MovieClip)
{
        clip._visible = false;
        clip.stop();
}
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.gotoAndStop(porcentajeTotal);
        preload.cargando.text = "Loading: " + list_nombres[cargando];
}
function onLoadInit(clip:MovieClip)
{
        cargando++;
        cargaMultiple();
}
//--------------------------
function cargaMultiple(queX:Number, queY:Number)
{
        if (!cargando) {
                cargando = 0;
                this.attachMovie("preload", "preload", this.getNextHighestDepth());
                preload._x = queX;
                preload._y = queY;
        }
        if (cargando <list_swfs.length) {
                precarga.loadClip(list_swfs[cargando], list_contenedor[cargando]);
        } else {

                for (i = 0; i <list_swfs.length; i++) {
                        this[list_contenedor[i]]._visible = true;
                        this[list_contenedor[i]].play();
                }
                removeMovieClip(preload);
        }
}

Para realizar la carga de archivos crearemos una serie de Arrays:

//listado de las rutas de los archivos externos a cargar
var list_swfs:Array = ["peli1.swf", "peli2.swf", "01.jpg", "02.jpg", "03.jpg", "04.jpg"];

//listado de los MovieClips vacíos donde cargar los archivos externos
var list_contenedor:Array = ["menu1", "menu2", "fot1", "fot2", "fot3", "fot4"];

//listado de títulos de los archivos externos
var list_nombres:Array = ["Menu superior", "Menu Inquierdo", "Foto 1/4", "Foto 2/4", "Foto 3/4", "Foto 4/4"];

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

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

Comparte:
  • Meneame
  • Twitter
  • Facebook
  • Google Bookmarks
  • del.icio.us
  • Technorati
  • email
  • Print

Post relacinonados:

  1. Clase para transiciones de fotos
  2. Ejemplo de Preload en Actioncsript 3
  3. Sistema de transiciones entre fotos
  4. Impedir la visualización de archivos SWF individualmente
  5. Añadir funciones al teclado con Actionscript 3

7 Comments »

  1. Comment by Daniel Calonga — 30 November, 1999 @ 12:00 am

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

  2. Comment by Juan Carlos Iñaguazo — 13 February, 2009 @ 12:30 pm

    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. Comment by admin — 13 February, 2009 @ 1:20 pm

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

  4. Comment by admin — 13 February, 2009 @ 1:22 pm

    @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. Comment by Emanuel — 31 July, 2009 @ 3:54 pm

    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. Comment by Alejandro — 18 October, 2009 @ 8:28 am

    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. Comment by Morley — 1 December, 2009 @ 11:10 am

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

RSS feed for comments on this post. TrackBack URI

Leave a comment

Get Adobe Flash playerPlugin by wpburn.com wordpress themes