Uso de QueueLoader para carga progresiva de archivos II – Eventos

Continuando con el uso de la librería QueueLoader, ahora veremos cómo se usan los detectores de eventos en ésta.

Recargando la clase anterior:

package {
	//importamos las clases necesarias
	import flash.display.MovieClip;
	import flash.events.Event;
	import com.hydrotik.queueloader.QueueLoaderEvent;
	import com.hydrotik.queueloader.QueueLoader;
	public class Main extends MovieClip {
		public function Main() {
			trace("hola desde constructor");
			//creamos una instancia del QueueLoader
			var _loader: QueueLoader = new QueueLoader();
			for (var s:int=1; s<5; s++) {
				//Recorremos las imagenes que estan en la carpeta "images"
				var url:String="images/"+s+".png";
				//creamos un contenedor para agregar la imagen cargada
				var container:MovieClip = new MovieClip();
				container.y = 170*(s-1);
				//hacemos addItem y le pasamos, el url a cargar, el mc donde se cargará
				_loader.addItem(url, container, {title:"Image1"});
				//y finalmente ejecutamos la cola de carga:
				_loader.execute();
				//Agregamos el contenedor al DisplayList:
				addChild(container);
				//Agregamos los detectores de eventos
				_loader.addEventListener(QueueLoaderEvent.QUEUE_START, onQueueStart);
				_loader.addEventListener(QueueLoaderEvent.ITEM_START, onItemStart);
				_loader.addEventListener(QueueLoaderEvent.ITEM_PROGRESS, onItemProgress);
				_loader.addEventListener(QueueLoaderEvent.ITEM_COMPLETE, onItemComplete);
				_loader.addEventListener(QueueLoaderEvent.QUEUE_PROGRESS, onQueueProgress);
				_loader.addEventListener(QueueLoaderEvent.QUEUE_COMPLETE, onQueueComplete);
				_loader.addEventListener(QueueLoaderEvent.ITEM_HTTP_STATUS, onHTTPError);
 
			}
			function onQueueStart(ev:QueueLoaderEvent) {
				trace("la cola de descarga ha comenzado");
			}
			function onItemStart(ev:QueueLoaderEvent) {
				trace("la descarga de un item comenzada");
			}
 
			function onItemProgress(ev:QueueLoaderEvent) {
				trace("onItemProgress");
				trace(Math.round((ev.percentage * 100)).toString() + "% Completado de un Item");
			}
			function onItemComplete(ev:QueueLoaderEvent) {
				trace("Se ha descargado correctamente un Item");
 
			}
			function onQueueProgress(ev:QueueLoaderEvent) {
				trace("onQueueProgress");
				trace(Math.round((ev.queuepercentage * 100)).toString() + "% Completado de la cola de descargas");
			}
			function onQueueComplete(ev:QueueLoaderEvent) {
				trace("Cola de descargas completa");
			}
			function onHTTPError(ev:QueueLoaderEvent) {
				trace("Error en el URL o en el server");
			}
 
		}
	}
}

Descargar el ejemplo: queueLoaderEventsSample

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *