Preload ALL Images.. Then Continue

Hey,

What I am trying to do is loop through an XML file that contains external image links, preload all the images and then run an initialiseNav() function when all images are preloaded.

I also need to be able to calculate the TOTAL Progress % of ALL images being preloaded together.

Here is my current code:


// XML Holder.
var myXML:XML;
// XML URL Request.
var xmlRequest:URLRequest = new URLRequest("nav.xml");
// XML URL Loader.
var xmlLoader:URLLoader = new URLLoader();
// Image Loader.
var imageLoader:Loader;
// Number of Icons
var nItems:Number;
// Image Width.
var nWidth:Number;
// Image Height.
var nHeight:Number;
// Time Between Images.
var nTimer:Number;
// Arrow Color.
var sArrowColor:String;

// XML Event Load Handler.
function xmlLoaded(e:Event):void {
    // Set XML.
    myXML = new XML(e.target.data);
    // Image Width.
    nWidth = myXML.options.images.width;
    // Image Height.
    nHeight = myXML.options.images.height;
    // Time Between Images.
    nTimer = myXML.options.icondelay;
    // Arrow Color.
    sArrowColor = myXML.options.arrowcolor;
    // Create XML List.
    var xmlListIcons:XMLList = myXML.items.children();
    // Number of Icons
    nItems = xmlListIcons.length();
    // Loop Creating Icons.
    for each (var xmlIconElement:XML in xmlListIcons) {
        // Create mcLinkContainer
        var mcContainer:MovieClip = new MovieClip();
        imageLoader = new Loader();
        imageLoader.load(new URLRequest(xmlIconElement.image));
        imageLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);

        mcContainer.addChild(imageLoader);
        addChild(mcContainer);
    }
    //initialiseNav();
}

// Preload Function
function loadProgress(e:ProgressEvent):void {
    var nLoaded:Number = e.bytesLoaded / e.bytesTotal;
    nLoaded = Math.round(nLoaded * 100);
    trace("Loading: " + nLoaded + "%");
}

// Load XML.
xmlLoader.load(xmlRequest);
// Listeners.
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);

I can see in the debugger that every image is being preloaded together at once, however I need some way to calculate the total % of all the images being preloaded as well as running the initialiseNav() function when all images are preloaded.

I thought about using an Array to store all the preloaded images and then test the total % of that but I’m unsure how.

Can anyone help please?