2013-05-13 139 views
0

如何導入或嵌入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連接到一個關鍵幀,而不是在其單獨的類。

謝謝。

回答

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; 
    } 
}