2009-10-15 54 views
0

我想加載3個獨特的xml文件,然後單獨解析它們。flash加載多個xml文件

現在如果所有3個xml文件都成功加載了&解析。 我想要go to frame 10否則stop和displaymessage。

xml.onLoad = function(success) {是一個XML

如果我有三個或更多個XML我怎麼知道,當所有的已經successfuly讀取和處理,導航futher。

請提供樣本代碼。

回答

1

您可以這樣做的一種方法是爲每個XML文檔保留一個標誌,該標誌在完成加載後設置爲true。另外編寫一個檢查函數,檢查所有3個標記,如果所有3個標記設置爲true,則檢查幀。對於每個加載器的成功事件,爲該XML文檔設置標誌,然後調用檢查函數。

下面是一些粗糙的僞代碼:

var xml1:XML; 
var xml2:XML; 
var xml3:XML; 

var xml1Loaded:Boolean = false; 
var xml2Loaded:Boolean = false; 
var xml3Loaded:Boolean = false; 

function checkAllLoaded():void { 
    if(xml1Loaded && xml2Loaded && xml3Loaded) { 
    gotoFrame(10); 
    } 
} 

xml1.onLoad = function(success:Boolean):void { 
    if(success) { 
    xml1Loaded = true; 
    checkAllLoaded(); 
    } 
} 
xml2.onLoad = function(success:Boolean):void { 
    if(success) { 
    xml2Loaded = true; 
    checkAllLoaded(); 
    } 
} 
xml3.onLoad = function(success:Boolean):void { 
    if(success) { 
    xml3Loaded = true; 
    checkAllLoaded(); 
    } 
} 

xml1.load(); 
xml2.load(); 
xml3.load(); 

顯然,你應該添加處理加載錯誤和使用加載XML和跳躍一幀正確的方法,但是這應該給你的想法如何能做完了。

0

到目前爲止,最簡單的方法就是製作三個獨立的URLLoader。

這取決於每個XML文件中的內容是多麼容易使用單個事件處理程序等......