Flash AS3: полоса загрузки не заканчивается, когда начинается воспроизведение фильма - PullRequest
0 голосов
/ 24 марта 2010

Я использую один и тот же код, который я всегда использую для предварительной загрузки другого SWF-файла, но на этот раз он не работает. Проблема на этот раз в том, что когда полоса загрузки достигает 16% каждый раз, когда вы слышите фильм, который я загружаю, играющий в фоновом режиме. Я могу просто добавить остановку в первый кадр фильма, который я загружаю («trial_1.swf»), но как мне сказать, чтобы он переходил ко второму кадру после его загрузки?

Любая помощь очень ценится!

Вот мой код:

var myrequest:URLRequest = new URLRequest("trial_1.swf");
var myloader:Loader = new Loader();

myloader.load(myrequest);
myloader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progresshandler);

function progresshandler (myevent:ProgressEvent):void {
    var myprogress:Number = myevent.target.bytesLoaded / myevent.target.bytesTotal;
    bar_mc.scaleX = myprogress * 1.5;
    myTextField_txt.text = Math.round(myprogress * 100) + "%"
}

myloader.contentLoaderInfo.addEventListener(Event.COMPLETE, finished);
function finished (myevent:Event):void {
    addChild(myloader);
    removeChild(myTextField_txt)
    removeChild(bar_mc);
    removeChild(logo_mc);
}

1 Ответ

0 голосов
/ 24 марта 2010

Почему бы не поставить специальный начальный кадр в начале вашего trial_1.swf (вместе с stop();, который вы получили в этом первом кадре), в котором в качестве кнопки остается «Начать фильм». Когда кнопка нажата, она перемещает временную шкалу в кадр 2 с gotoAndPlay(2);.

Если вы делаете это таким образом, то пользователь сам может начинать воспроизведение анимации, и это можно сделать только после полной загрузки, когда SWF-файл находится на сцене. Это должно решить вашу проблему.

Честно говоря, я не уверен, почему ваша анимация начинает воспроизводиться до полной загрузки. Это, конечно, странно.

...