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;
                }

posted on 2012-11-23 10:44  一个石头  阅读(344)  评论(0)    收藏  举报