Flash / Actionscript 3 - 导出/嵌入XML文件以便导出?

时间:2013-05-13 04:27:53

标签: xml flash import export

如何导入或嵌入XML文件以便我可以导出100%独立的SWF?我的项目读取文本字段和图像的外部XML文件。当我导出SWF时,除非我在同一目录中有XML文件,否则不会显示任何图像/文本。我想要一个100%独立的SWF,而不需要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附加到关键帧,而不是单独的类。

感谢。

1 个答案:

答案 0 :(得分:0)

因此,您将拥有一个包含所有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;
    }
}