0
這是在Flash動作腳本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();
更新
我要撥打的主網頁上的功能,所以我可以做一些階段操作 這是在課堂上,我得到錯誤undefined方法
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")
}
我上this.dispatchEvent錯誤作爲一個未定義的方法,我需要包括些什麼呢? – artSir
是的,你應該導入flash.events.EventDispatcher – Pan
我明白了,我不得不創建一個_dispatcher = new EventDispatcher(); – artSir