http://www.wastedpotential.com/?p=38
http://code.google.com/p/bulk-loader/
http://tutorials.flashmymind.com/2009/02/loading-multiple-images/
Использование AS3 QueueLoader - это позволило мне добавить ресурсы в очередь и при этом сохранить предварительную загрузку как один процесс.
Вот некоторый код, который добавляет изображения в очередь.
private function init():void {
_oLoader = new QueueLoader();
_oLoader.addItem(PATH+cssURL, css, {title:'cssContent'});
_oLoader.addItem(PATH+"xml/copy.xml", pageXML, {title:'pageXML'});
_oLoader.addEventListener(QueueLoaderEvent.ITEM_PROGRESS, onItemProgress, false, 0, true);
_oLoader.addEventListener(QueueLoaderEvent.ITEM_COMPLETE, onItemComplete, false, 0, true);
_oLoader.addEventListener(QueueLoaderEvent.QUEUE_PROGRESS, onQueueProgress, false, 0, true);
_oLoader.addEventListener(QueueLoaderEvent.QUEUE_COMPLETE, onQueueComplete, false, 0, true);
_oLoader.execute();
}
private function onItemComplete(evt:QueueLoaderEvent):void {
if (evt.title == 'cssContent')
{
css = StyleSheet(evt.content);
}
if(evt.title == 'pageXML'){
pageXML = XML(evt.content);
processXML(); // creates page objects based on XML
for(var i:int=0; i<pageXML.PARENT.length(); i++){
//loops through XML for background images and adds them to various
//sprite layers for simple turning on and off
numSubPages = pageXML.PARENT[i].PAGE.length();
var pageImgHolder = new Sprite();
pageImgHolder.name = 'page'+i;
pageImgHolder.x = 0; pageImgHolder.y = 0;
bgImgHolder_mc.addChild(pageImgHolder);
for(var j:int=0; j<numSubPages; j++){
if(String(pageXML.PARENT[i].PAGE[j].@IMAGE) !== ''){
bgImg = new Sprite();
bgImg.name = 'page'+i+'img'+j;
bgImg.alpha = 0;
pageImgHolder.addChild(bgImg);
_oLoader.addItem(PATH+'images/'+pageXML.PARENT[i].PAGE[j].@IMAGE, bgImg, {title:'page'+i+'img'+j})
trace(pageImgHolder.parent.name+'/'+bgImg.parent.name+'/'+bgImg.name+' = '+pageXML.PARENT[i].PAGE[j].@IMAGE);
}
}
}
xmlLoaded = true;
}
}
private function onQueueComplete(evt:QueueLoaderEvent):void {
trace("** "+evt.type);
imgHolderLoaded = true;
Preloader.instance.spinnerDone();
startMovie();
bgImgHolder_mc.turnOnImg(0, 0);
//turns on image for page 0, subpage 0 (i have a very complicated architecture)
}
Надеюсь, это поможет вам.