AS3 - предварительный загрузчик MovieClip

Я хочу, чтобы на сцене было несколько экземпляров символа movieClip, чтобы каждый из них загружал другое изображение. У символа movieClip должно быть 2 кадра. 1-й кадр, содержащий сценарий действия для индикатора выполнения загрузчика; и второй кадр с UILoader, который отображает внешнее изображение.

Я знаю, как реализовать прелоадер для SWF-файла. И я знаю, как создать символ movieClip с помощью UILoader и создать несколько экземпляров с разными изображениями.

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


person Milad    schedule 07.10.2013    source источник


Ответы (2)


Это потому, что Stage ведет себя иначе, чем MovieClip. Делать прелоадер нужно программно. определите класс для символа MovieClip и создайте экземпляр другого MC, который работает как предварительный загрузчик, затем сделайте его видимым и воспроизведите, пока изображение меняется, добавив eventListener: addEventListener(ProgressEvent.PROGRESS, updateInfo);

person Osiel Hernández    schedule 08.10.2013

Это можно сделать, просто используя progressBar и класс загрузчика.

import flash.display.Loader;
import fl.controls.ProgressBar;
import flash.events.Event;
import fl.containers.UILoader;

var myLoader:Loader = new Loader();
var my_pb:ProgressBar = new ProgressBar();

addChild(my_pb);

myLoader.load(new URLRequest("http://www.SomeImageURL...."));
my_pb.source = myLoader.contentLoaderInfo;

myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completefunction);

function completefunction(e:Event):void
{
    removeChild(my_pb);
    myLoader.content.width = 200;
    addChild(myLoader);
}

Чтобы символ movieClip использовал разные изображения, нам просто нужно добавить строковую переменную в movieClip и передавать URL-адрес этой переменной каждый раз, когда мы создаем новый экземпляр этого.

person Milad    schedule 31.10.2013