im trying to load images to the stage from an xml file. i have the xml working and the images stored in an array “this.arrImages”. the problem is, i can only get it to display one image.
i appreciate any help thanks.
code for the function to display images:
package {
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.text.TextField;
import flash.events.MouseEvent;
public class loader extends MovieClip {
private var arrImages:Array;
private var arrImgContainer:Array;
private var numArrLength:Number;
public var xmlLoader:URLLoader
public var xmlData:XML
public var imgLoader:Loader;
public var mcImgHolder:MovieClip = new MovieClip();
function loader(){
this.arrImages = new Array();
this.arrImgContainer = new Array();
xmlLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, onXMLComplete);
xmlLoader.load(new URLRequest("images.xml"));
addChild(this.mcImgHolder);
}
public function onXMLComplete(e:Event):void {
trace("::XML Loaded::");
xmlData = new XML(e.target.data);
ParseXML(xmlData);
}
public function ParseXML($items:XML):void {
trace("::XML saved to Array::");
var imagesList:XMLList = $items.project.image
this.numArrLength = imagesList.length()
for(var i:Number = 0; i < this.numArrLength; i++){
this.arrImages.push($items.project.image.text()*);
}
this.displayAllImages();
}
private function displayAllImages():void{
trace("::Display Images::");
for(var i:Number = 0; i < this.numArrLength; i++){
imgLoader = new Loader();
this.mcImgHolder.addChild(imgLoader);
imgLoader.load(new URLRequest("images/" + this.arrImages*));
var imgContainer:MovieClip = new MovieClip;
addChild(imgContainer);
imgContainer.addChild(imgLoader)
}
}
}
}