Flash/Actionscript 3 - 导入/嵌入用于导出的XML文件?
问题描述:
如何导入或嵌入XML文件,以便我可以导出100%独立的SWF文件?我的项目为文本字段和图像读取外部XML文件。当我导出SWF文件时,除非将XML文件放在同一目录中,否则不会显示任何图像/文本。我想要一个100%独立的SWF,而不需要XML。Flash/Actionscript 3 - 导入/嵌入用于导出的XML文件?
这里是我到目前为止,这段代码是从一个教程什么:
var imageArray:Array = new Array();
var painterArray:Array = new Array();
var titleArray:Array = new Array();
var dateArray:Array = new Array();
//Loader event for the XML
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);
var xml:XML;
loader.load(new URLRequest("mday.xml"));
function onLoaded(e:Event):void {
//load XML
xml=new XML(e.target.data);
var il:XMLList=xml.images;
listLength=il.length();
//fill up the array from XML
populateArray();
}
function populateArray():void {
//takes the properties defined in the XML and stores them into arrays
var i:Number;
for (i = 0; i < listLength; i++) {
imageArray[i]=xml.images[i].pic;
titleArray[i]=xml.images[i].title;
painterArray[i]=xml.images[i].painter;
dateArray[i]=xml.images[i].date;
}
}
的AS连接到一个关键帧,而不是在其单独的类。
谢谢。
答
因此,而不是装载在外部XML文件中,你将有一个包含所有的XML数据的变量:
var imageArray:Array = new Array();
var painterArray:Array = new Array();
var titleArray:Array = new Array();
var dateArray:Array = new Array();
//assign all your xml to your xml variable. Here is some example xml data
var xml:XML = <gallery>
<image name="school">image1.jpg</image>
<image name="garden">image2.jpg</image>
<image name="shop">image3.jpg</image>
</gallery>;
load();//call your load function
function load():void {
var il:XMLList=xml.images;
listLength=il.length();
//fill up the array from XML
populateArray();
}
function populateArray():void {
//takes the properties defined in the XML and stores them into arrays
var i:Number;
for (i = 0; i < listLength; i++) {
imageArray[i]=xml.images[i].pic;
titleArray[i]=xml.images[i].title;
painterArray[i]=xml.images[i].painter;
dateArray[i]=xml.images[i].date;
}
}