如何将 Loader 对象作为 Class 返回

发布于 2024-11-07 06:01:39 字数 482 浏览 1 评论 0原文

我必须仅使用动作脚本来实现带有图标的菜单。 我从 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 对象作为 Class 返回? 我在谷歌上搜索了几个小时,但找不到相关的东西。

多谢!

I have to implement a menu with icons using actionscript only.
I create a data provider from XML and set

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

Till here everything is fine and my menu is presented, but only with labels.
I create iconFunction as following:

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

and here's my question: how do I return my loader object as Class?
I'm googling this for hours and cannot find something relevant.

Thanks a lot!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无声无音无过去 2024-11-14 06:01:39

您可以使用Ben Stucki 的解决方案作为基础。

You can use Ben Stucki's solution as a base.

深海蓝天 2024-11-14 06:01:39

这个例子有帮助吗?

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

}

Will this example help?

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

}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文