0

我想将一个 XML 文件加载到闪存中。有大多数用户熟悉的简单代码。

var myXML=new XML();
myXML.ignoreWhite=true;
myXML.onLoad()=function(success){
    if(success){
        functions_to_process_xml();
    }else{
        trace("not loaded");
    }
}
myXML.load("myxml.xml");

到这里为止,一切看起来都很好。但是我有一个同步问题。我只想让我的 swf 启动,加载 xml 文件,并在 myXML.onLoad() 完成后,让其他操作发生。我只是无法在 .onLoad() 方法完成后同步我的函数。有任何想法吗?

4

1 回答 1

0

如果您希望在成功加载和解析 XML 数据后执行其他操作,我认为您在正确的轨道上拥有您所拥有的。假设您的 XML 处理例程是同步的(很可能),您需要做的就是在调用 XML 解析方法之后初始化其他操作。

我可能会这样做:

var myXML=new XML();
myXML.ignoreWhite=true;
myXML.onLoad()=function(success){
    if(success){
        xmlLoadedHandler();
    }else{
        trace("not loaded");
    }
}
myXML.load("myxml.xml");


function xmlLoadedHandler() {
    parseXML(); // most likely a synchronous process
    initOtherActions(); // XML has been loaded and parsed
}

如果可能,您应该考虑更新到 ActionScript 3.0

于 2012-09-03T17:41:47.720 回答