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

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>