Как вернуть объект Loader как класс - PullRequest
0 голосов
/ 16 мая 2011

Я должен реализовать меню с иконками, используя только ActionScript. Я создаю провайдер данных из 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 голосов
/ 16 мая 2011

Вы можете использовать решение Бена Штуки в качестве базы.

0 голосов
/ 16 мая 2011

Поможет ли этот пример?

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

}

...