La clase MovieClipLoader de Flash permite precargar datos de forma ordenada y ofrece detectores de eventos para ejecutar acciones de acuerdo al progreso de la carga. La clase MovieClipLoader que esta especialmente preparada para cargar archivos SWF, JPG, GIF y PNG.
[SWF]http://blog.unijimpe.net/wp-content/uploads/2008/02/preload.swf, 400, 134[/SWF]
Utilizando la Clase MovieClipLoader
Para utilizar la clase MovieClipLoader es necesario utilizar un listener que nos permitirá detectar los eventos en el proceso de carga con lo cual podremos utilizar los eventos: onLoadStart para detectar el inicio de la carga, onLoadProgress para detectar el avance de la carga y onLoadInit que detecta que la carga se ha completado y el archivo cargado esta disponible.
Luego si tenemos una película flash en cual hemos creado un MovieClip llamado mcclip en la cual deseamos cargar el archivo Pic2.jpg, tendríamos el siguiente código.
[as]
var mcload:MovieClipLoader = new MovieClipLoader();
var mclist:Object = new Object();
mclist.onLoadStart = function(clip:MovieClip) {
trace(«Iniciar Carga»)
}
mclist.onLoadProgress = function(clip:MovieClip) {
trace(«Cargando…»);
}
mclist.onLoadInit = function(clip:MovieClip) {
trace(«Carga Completa»)
};
mcload.addListener(mclist);
mcload.loadClip(«Pic2.jpg», mcclip);
[/as]
Como se aprecia, estamos detectando el inicio, el proceso de carga y el fin de la carga lo cual nos ayudará en el proceso de esta imagen.
Agregando Porcentaje de Carga
El siguiente paso es mostrar el porcentaje de carga del archivo, para ello creamos un campo de texto en el centro de nuestra película llamado txtload. Luego para mostrar el porcentaje de carga tendríamos:
[as]
var mcload:MovieClipLoader = new MovieClipLoader();
var mclist:Object = new Object();
mclist.onLoadStart = function(clip:MovieClip) {
txtload.text = «CARGANDO 0%»
}
mclist.onLoadProgress = function(clip:MovieClip, bload:Number, btotal:Number) {
txtload.text = «CARGANDO » + Math.round(100*bload/btotal) + «%»;
}
mclist.onLoadInit = function(clip:MovieClip) {
txtload.text = «»;
};
mcload.addListener(mclist);
mcload.loadClip(«Pic2.jpg», mcclip);
[/as]
Finalizando nuestro Precargador
Entonces ahora aprovecharemos los eventos de la precarga y haremos que una vez cargada la imagen la redimensionaremos al tamaño de nuestra película.
[as]
var mcload:MovieClipLoader = new MovieClipLoader();
var mclist:Object = new Object();
mclist.onLoadStart = function(clip:MovieClip) {
clip._alpha = 0;
txtload.text = «CARGANDO 0%»
}
mclist.onLoadProgress = function(clip:MovieClip, bload:Number, btotal:Number) {
txtload.text = «CARGANDO » + Math.round(100*bload/btotal) + «%»;
}
mclist.onLoadInit = function(clip:MovieClip) {
txtload.text = «»;
clip._width = 400;
clip._height = 134;
clip._alpha = 100;
};
mcload.addListener(mclist);
mcload.loadClip(«Pic2.jpg», mcclip);
[/as]
Para finalizar les dejo los archivos fuente de este ejemplo para que lo puedan descargar y realizar sus propias modificaciones.
Comentarios Total 4 comentarios
Publicado: 10/02/2008 10:05 pm
Vaya, muchas gracias por estos tutoriales que haces :) son muy útiles.
Publicado: 11/02/2008 10:55 pm
[…] Tutorial para Precargar archivos en Flash […]
Publicado: 29/04/2009 5:46 pm
Me he descargado los archivos fuentes y estan vacios. Puede ser?
Publicado: 02/07/2009 10:26 am
A mí me pasa lo mismo. Me salen vacios