Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I ended up using <a href="http://code.google.com/p/queueloader-as3/" rel="nofollow noreferrer">AS3 QueueLoader</a> -- it enabled me to add assets to the queue after the XML was loaded, and still kept my preloading as one process. Sweet!</p> <p>I hope this helps somebody. Let me know if you have any questions about it!</p> <p>Here is some code that adds images to the queue after the XML has loaded (a lot of details omitted):</p> <pre><code>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&lt;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&lt;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) } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload