Precargar archivos en AS3
- 27/05/2008
- 12:19 am
ActionScript 3 trae nuevos métodos, propiedades y eventos para implementar nuestras aplicaciones, en esta ocasión crearemos un precargador de archivos en AS3, para ello ahora estan disponibles nuevas clases: URLRequest y Loader.
La clase URLRequest nos permitirá asignar el archivo que deseamos cargar y la clase Loader nos permitirá hacer el seguimiento en el proceso de la carga.
-
var mcRequ:URLRequest = new URLRequest("image.jpg");
-
var mcLoad:Loader = new Loader();
Luego de ello iniciamos la carga del archivo utilizando el método load de la clase Loader.
-
mcLoad.load(mcRequ);
Luego el siguiente paso es agregar los detectores de eventos, en esta caso detectaremos el inicio de la carga, el progreso de la carga y el fin de la carga.
-
mcLoad.contentLoaderInfo.addEventListener(Event.OPEN, onOpen);
-
mcLoad.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
-
mcLoad.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
Nótese que hemos agregado las funciones onOpen, onProgress y onComplete que se ejecutarán al inicio, progreso y fin de la carga. Entonces lo que hace falta es implementar estas funciones.
-
function onOpen(event:Event):void {
-
txtload.text = "CARGANDO 0%";
-
}
-
function onProgress(event:ProgressEvent):void {
-
var bLoad = event.bytesLoaded;
-
var bTot = event.bytesTotal;
-
txtload.text = "CARGANDO "+Math.round(100*bLoad/bTot)+"%";
-
}
-
function onComplete(event:Event):void {
-
txtload.text = "";
-
mcclip.addChild(mcLoad);
-
mcclip.width = 400;
-
mcclip.height = 134;
-
}
En este paso hay que notar como se obtienes los valores de los bytes cargados (bytesLoaded) y los bytes totales (bytesTotal) para hacer el calculo del porcentaje de carga. Además de ello txtload es un campo de texto y mcclip un MovieClip que están en el Stage en donde se cargará la imagen. Finalmente una vez cargado la imagen la agregamos al MovieClip mcclip y luego lo escalamos para que encaje en nuestra película.
Uniendo todos los elementos, tenemos nuestro precargador de archivos en ActionScript 3, el cual fácilmente se puede convertir en una clase para poder utilizarla para precargar cualquier archivo.
-
var mcRequ:URLRequest = new URLRequest("image.jpg");
-
var mcLoad:Loader = new Loader();
-
-
mcLoad.load(mcRequ);
-
mcLoad.contentLoaderInfo.addEventListener(Event.OPEN, onOpen);
-
mcLoad.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
-
mcLoad.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
-
function onOpen(event:Event):void {
-
txtload.text = "CARGANDO 0%";
-
}
-
function onProgress(event:ProgressEvent):void {
-
var bLoad = event.bytesLoaded;
-
var bTot = event.bytesTotal;
-
txtload.text = "CARGANDO "+Math.round(100*bLoad/bTot)+"%";
-
}
-
function onComplete(event:Event):void {
-
txtload.text = "";
-
mcclip.addChild(mcLoad);
-
mcclip.width = 400;
-
mcclip.height = 134;
-
}
Como pueden ver, no es muy complicado solo hay que entender la logica de funcionamiento de AS3 y el correcto uso de los detectores de eventos. Para finalizar les dejo los archivos fuentes para que puedan descargar y hacer sus pruebas.
Posts Relacionados
- Precargar archivos en Flash
- FireUploader: Upload en Firefox
- Precargador en Flash
- Upload de archivos > 2Mb (PHP)
- Mil descargas WP-SWFObject
Total de Comentarios: 2
hola, buenos dias, me gustaria saber si puedo utilizar este mismo ejemplo de precarga pero con AS2. espero me puedan colavorar ya que es urgente
Muchas gracias funciona perfectamente


