QueueLoader AS3
Posted: August 15, 2007 at 12:01 amLatest Version Info:
Click here for the current rev
Click here for the usage guide
Also click here for any posts related to the latest changes:
QueueLoader Updates
A while back Felix Raab from betriebsraum did a cool QueueLoader class for AS2 that I used often. I decided to update it for AS3 as my first port of my day to day utilitarian classes. It's still in it's early and raw stages, but at this point I've already been using it regularly.
Shortly I'll post an example of an image gallery using the QueueLoader classes.
Here's a simple example of how to use the class:
import com.hydrotik.utils.QueueLoader; import com.hydrotik.utils.QueueLoaderEvent; //Instantiate the QueueLoader var _oLoader:QueueLoader = new QueueLoader(); //Run a loop that loads 3 images from the flashassets/images/slideshow folder for (var i:int = 1; i < 4; i++) { //Set up the container var image:Sprite = new Sprite(); image.name = "image_"+i; image.x = startX; addChild(image); //Add a load item to the loader _oLoader.addItem("../flashassets/images/slideshow/"+i+".jpg", image, {title:"Image "+i}); //Move the image over a bit startX = startX + 50; } //Add event listeners to the loader _oLoader.addEventListener(QueueLoaderEvent.QUEUE_START, onQueueStart, false, 0, true); _oLoader.addEventListener(QueueLoaderEvent.ITEM_START, onItemStart, false, 0, true); _oLoader.addEventListener(QueueLoaderEvent.ITEM_PROGRESS, onItemProgress, false, 0, true); _oLoader.addEventListener(QueueLoaderEvent.ITEM_INIT, onItemInit,false, 0, true); _oLoader.addEventListener(QueueLoaderEvent.ITEM_ERROR, onItemError,false, 0, true); _oLoader.addEventListener(QueueLoaderEvent.QUEUE_PROGRESS, onQueueProgress, false, 0, true); _oLoader.addEventListener(QueueLoaderEvent.QUEUE_INIT, onQueueInit,false, 0, true); //Run the loader _oLoader.execute(); //Listener functions function onQueueStart(event:QueueLoaderEvent):void { trace(">> "+event.type); } function onItemStart(event:QueueLoaderEvent):void { trace("\t>> "+event.type, "item title: "+event.title); } function onItemProgress(event:QueueLoaderEvent):void { trace("\t>> "+event.type+": "+[" percentage: "+event.percentage]); } function onQueueProgress(event:QueueLoaderEvent):void { trace("\t>> "+event.type+": "+[" queuepercentage: "+event.queuepercentage]); } function onItemInit(event:QueueLoaderEvent):void { trace("\t>> event:" + event.type+" - "+["target: "+event.targ, "w: "+event.width, "h: "+event.height]+"\n"); } function onItemError(event:QueueLoaderEvent):void { trace("\n>>"+event.message+"\n"); } function onQueueInit(event:QueueLoaderEvent):void { trace("** "+event.type); }
A more recent version of this code has been posted! Go HERE