如何在ActionScript 3中处理对象中的数据加载
问题描述:
我使用FlashDevelop在纯AS3中编写网站,并且有一个对象在init中加载XML文件。有没有一种好方法让我的主要功能等待,直到完成加载?我知道onComplete事件以及如何在对象内部使用它们,但我不知道如何继续。如何在ActionScript 3中处理对象中的数据加载
在此先感谢!
答
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
}
}
}
HandleXMLData不需要扩展Sprite。 +1 – 2010-12-05 14:16:28