如何将Loader对象作为Class返回

时间:2011-05-16 17:21:58

标签: actionscript-3 flex actionscript flex4 flex4.5

我必须使用动作脚本实现一个带图标的菜单。 我从XML创建数据提供程序并设置

menu = Menu.createMenu(null, dataArray, true);
menu.iconFunction = iconFunction;

直到这里一切都很好,我的菜单出现了,但只有标签。 我创建iconFunction如下:

private function iconFunction(item:Object):Class
{
   var st:Loader = new Loader();
   st.load(new URLRequest(item.icon));
   return ?;
}

这是我的问题:如何归还loader object as Class? 我正在谷歌搜索几个小时,找不到相关的东西。

非常感谢!

2 个答案:

答案 0 :(得分:0)

这个例子会有帮助吗?

package {

import flash.display.Sprite;
import flash.utils.ByteArray;
import flash.display.Loader;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLLoaderDataFormat;
import flash.geom.Rectangle;
import flash.events.Event;

public class Main extends Sprite {

    private var urlLoader:URLLoader = new URLLoader();

    public function Main() {
        urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
        urlLoader.load(new URLRequest("http://server.com/image.jpg"));

       urlLoader.addEventListener(Event.COMPLETE, completeHandler);
   }

   private function completeHandler(event:Event):void {
       var loader:Loader = new Loader();
       loader.loadBytes(urlLoader.data);
       addChild(loader);
   }
}

}

答案 1 :(得分:0)

您可以使用Ben Stucki's solution作为基础。