AS3回调函数
当你想通过一个类来加载XML或者图片等,想让他返回一个XML或者Bitmap,你不能在类的构造函数直接return,因为他可能return的时候还没有load完,往往会返回一个空的,这时候你就可以尝试使用回调函数了,或者使用DispatchEvent,如果是一个小程序的话不妨试下回调函数,简单实用。
public class LoadXML
{
private var fBack:Function;
public function LoadXML(url:String, fBackIn:Function)
{
fBack = fBackIn;
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest(url));
xmlLoader.addEventListener(Event.COMPLETE, loadComplete);
}
private function loadComplete(e:Event):void
{
trace("XML loaded OK");
var xmlData:XML = new XML(e.target.data);
fBack(xmlData);
}
}
主函数里这样写就可以了,就会返回一个XML
var loadXML:LoadXML = new LoadXML("assets/MapData.xml", floading);
private function floading(xml:XML):void
{
xmlData = xml;
}
浙公网安备 33010602011771号