flash加载多个xml文件

时间:2009-10-15 15:53:30

标签: xml flash process

我想加载3个唯一的xml文件,然后单独解析它们。

现在,如果所有3个xml文件都已成功加载并且解析。 我想go to frame 10否则stop和displaymessage。

xml.onLoad = function(success) {适用于一个xml

如果我有三个或更多XML,我怎么知道什么时候已成功读取和处理,以便进一步导航。

请提供示例代码。

2 个答案:

答案 0 :(得分: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并跳转到框架,但这应该让你知道如何完成它。

答案 1 :(得分:0)

到目前为止,最简单的方法是制作三个单独的URLLoader。

这取决于每个XML文件中的内容类型,使用单个事件处理程序等是多么容易......