2009-10-15 55 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文件中的内容是多么容易使用单个事件处理程序等......