Revision: 44181
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at April 7, 2011 07:16 by EgoAnt
Initial Code
package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class Main extends MovieClip
{
private var configXMLPath:String;
public function Main()
{
//Set the path of the xml file that defines the loaded images
if (root.loaderInfo.parameters.configXMLPath)
{
//This allows you to define the location of the config file in the embed parameters on the page
configXMLPath = root.loaderInfo.parameters.configXMLPath;
}
else
{
//Default to a config.xml file at the same level as the swf.
configXMLPath = "config.xml";
}
LoadConfigXML();
}
public function LoadConfigXML():void
{
var xmlURL:String = configXMLPath;
var configRequest:URLRequest = new URLRequest();
configRequest.url = xmlURL;
var assetLoader:URLLoader = new URLLoader();
assetLoader.addEventListener(Event.COMPLETE, ParseConfigXML);
assetLoader.load(configRequest);
}
private function ParseConfigXML(e:Event):void
{
var configXML:XML = new XML(e.target.data);
if (configXML.title.@path)
{
addImageToStage(configXML.title.@path, Number(configXML.title.@x), Number(configXML.title.@y));
}
if (configXML.images)
{
for each (var image:XML in configXML.images.*)
{
addImageToStage(image.@path, Number(image.@x), Number(image.@y));
}
}
}
private function addImageToStage(imgURL:String, imgX:Number, imgY:Number):void
{
try
{
var imgLoader:Loader = new Loader();
var imageReq:URLRequest = new URLRequest(imgURL);
imgLoader.load(imageReq);
imgLoader.x = imgX;
imgLoader.y = imgY;
addChild(imgLoader);
}
catch (err:Error)
{
//Handle error here.
trace(err.message);
}
}
}
}
Initial URL
Initial Description
Initial Title
Loading an XML Config File with AS3
Initial Tags
Initial Language
ActionScript 3