ActionScript 3.0 сколько загрузчиков? - PullRequest
0 голосов
/ 06 сентября 2010

Я хочу загрузить 2 разных элемента в мое флеш-видео:

Во-первых, это динамическая фотография (я беру конкретное число из внешней переменной). Позднее это видео в формате SWF ...

Мой вопрос?

Я новичок в AS3, я видел, что мне нужен загрузчик, и я могу загрузить все ... но сколько загрузчиков у меня должно быть?Могу ли я использовать только одно изменение функции, вызываемой при завершении события?

Большое спасибо.

Emanuele

Ответы [ 3 ]

2 голосов
/ 06 сентября 2010

Используйте загрузчик для каждого актива, который вы хотите загрузить. Загруженный ресурс будет прикреплен к этому загрузчику.

Посмотрите на это http://fluxdb.fluxusproject.org/libraries/135-bulk-loader или на это http://fluxdb.fluxusproject.org/libraries/243-somaloader

Оба будут управлять загрузкой множества различных активов.

0 голосов
/ 07 сентября 2010

Вы можете повторно использовать Loaders, например:

var loader:Loader = new Loader();
loader.load(new URLRequest("http://someMedia.jpg"));

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);

function onComplete(event:Event):void
{
    addChild(event.target.content);

    loader.load(new URLRequest("http://someOtherMedia.jpg"));
}

, это загрузит оба изображения, но не очень хорошо для поддержания чистоты

Так что я бы предложил этот способ

var loader1:Loader = new Loader();
loader1.load(new URLRequest("http://someMedia.jpg"));
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoader1Complete);

var loader2:Loader = new Loader();
loader2.load(new URLRequest("http://someOtherMedia.jpg"));
loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoader2Complete);

function onLoader1Complete(event:Event):void
{
    event.target.removeEventListener(Event.COMPLETE, onLoader1Complete);
    addChild(event.target.content);
    loader1.unload();
}

function onLoader2Complete(event:Event):void
{
    event.target.removeEventListener(Event.COMPLETE, onLoader2Complete);
    addChild(event.target.content);
    loader2.unload();
}

Это замечательно, если у вас есть две, три вещи, которые вы хотите загрузить, но если у вас их несколько, циклическая функция предпочтительна

var loader:Loader;

function loopLoader():void
{
    for (var i:int = 0; i < 10; i++)
    {
        loader = new Loader();
        loader.load(new URLRequest("http://someMedia.jpg"));
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
    }
}

function onLoaderComplete(event:Event):void
{
    event.target.removeEventListener(Event.COMPLETE, onLoaderComplete);
    addChild(event.target.content);
    loader.unload();
}

loopLoader();
0 голосов
/ 06 сентября 2010

Загрузчики очень похожи на MovieClips - их столько, сколько вам нужно.

...