2010-12-05 44 views
0

我使用FlashDevelop在純AS3中編寫網站,並且有一個對象在init中加載XML文件。有沒有一種好方法讓我的主要功能等待,直到完成加載?我知道onComplete事件以及如何在對象內部使用它們,但我不知道如何繼續。如何在ActionScript 3中處理對象中的數據加載

在此先感謝!

回答

1
package 
{ 
import flash.display.Sprite; 
import flash.net.URLLoader; 
import flash.net.URLRequest; 
import flash.events.Event; 
import flash.events.IOErrorEvent; 

public class HandleXMLData extends Sprite 
    { 
    private var xmlData:XML; 
    private var XMLFileURL:String = "myXML.xml"; 

    public function HandleXMLData() 
     { 
     var xmlLoader:URLLoader = new URLLoader(); 
     xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); 
     xmlLoader.addEventListener(Event.COMPLETE, xmlDataHandler); 
     xmlLoader.load(new URLRequest(XMLFileURL)); 
     } 

    private function xmlDataHandler(evt:Event):void 
     { 
     evt.target.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); 
     evt.target.removeEventListener(Event.COMPLETE, xmlDataHandler); 
     xmlData = new XML(evt.target.data); 

     init(); 
     } 

    private function errorHandler(evt:IOErrorEvent):void 
     { 
     throw(evt.text); 
     } 

    private function init():void 
     { 
     //Initialization Routine 
     } 
    } 
} 
+0

HandleXMLData不需要擴展Sprite。 +1 – 2010-12-05 14:16:28

相關問題