这是在 Flash Action Script 3 中的 这是我的类,我在类中加载了一个 xml,现在我想在主页中做一些事情,比如在舞台上创建基于 xml 的东西。帮助
我明白为什么它不起作用,当函数被调用时,xml 还没有加载,我只是不知道如何解决这个问题?也许添加一个事件监听器?
package {
public class LoadXMLAdventure {
var adventureXML: XML;
var xmlReq:URLRequest;
var xmlLoader:URLLoader = new URLLoader();
var _currentRoom:int;
public function LoadXMLAdventure(xmlFileName:String) {
xmlReq = new URLRequest(xmlFileName);
xmlLoader.load(xmlReq);
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
}
function xmlLoaded(event:Event):void{
adventureXML = new XML(xmlLoader.data)
//trace( adventureXML.toXMLString() )
}
public function myFunction():void{
trace(adventureXML.toXMLString()) //this does not work
}
}
}
在我的主页上
var game:LoadXMLAdventure = new LoadXMLAdventure("file.xml");
game.myFunction();
更新
我想在主页上调用一个函数,这样我就可以在类中进行一些阶段操作,我得到一个错误未定义的方法
function xmlLoaded(event:Event):void{
adventureXML = new XML(xmlLoader.data)
this.dispatchEvent( new Event("showRoom") );
}
这是在舞台上
stage.addEventListener("showRoom",showRoom);
function showRoom(e:Event):void{
trace("showroom hello")
}