Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как используя UILoader сделать предзагрузчик? (http://www.flasher.ru/forum/showthread.php?t=142769)

ruslux 30.07.2010 12:10

Как используя UILoader сделать предзагрузчик?
 
Собственно делаю в одном кадре. loadWindow - название экземпляра UILoader, bar - название экземпляра ProgressBar.

Пытаюсь в одном кадре загрузить - не получается. либо не отображается дополнительный файл вообще, либо отображается мгновенно, так что не задействуется ProgressBar (профилировщик естественно на самых убогих скоростях).

Пробовал отложить запуск функции на 1 сек. все равно мгновенно прогружается - как будто полностью загружает и клип и дополнительный файл.

Код AS3:

loadWindow.source=("http://vkontakte.ru/tra-ta-ta-ta.zip");
loadWindow.addEventListener(ProgressEvent.PROGRESS, onProgress);
function onProgress(e:ProgressEvent):void {
        bar.setProgress(e.bytesLoaded, e.bytesTotal);
}

Попробовал вот так:
Код AS3:

/*loadWindow.autoLoad=false;
loadWindow.source=("http://vkontakte.ru/tra-ta-ta-ta.zip");
setTimeout(startLoad, 1000);*/

function startLoad():void {
        loadWindow.load(new URLRequest("http://vkontakte.ru/tra-ta-ta-ta.zip"));
        loadWindow.addEventListener(ProgressEvent.PROGRESS, onProgress);
        loadWindow.addEventListener(Event.COMPLETE, onComplete);
}
 
function onProgress(e:ProgressEvent):void {
        bar.setProgress(e.bytesLoaded, e.bytesTotal);
        trace("yahoooo");
}
 
function onComplete(e:Event):void {
        loadWindow.removeEventListener(ProgressEvent.PROGRESS, onProgress);
        loadWindow.removeEventListener(Event.COMPLETE, onComplete);
        removeChild(bar);
        trace("removed");
}
startLoad();

если trace(e.bytesLoaded);
то выдает
0
64995 - то есть мгновенно грузит. что за шляпа то?

в официальном учебном курсе по actionscript3.0 для adobe flash этот код работает.
и мувике подгружает дополнительные файлы. а у меня - не работает. где я ошибаюсь?

Все! Спасибо! Нашел ответ. флеш кешировался, если каждый раз запрашивать новый урл, то кешироваться не будет:
Код AS3:

var time=new Date().getTime();
loadWindow.load(new URLRequest("http://vkontakte.ru/tra-ta-ta-ta.zip?"+time));

Теперь вопрос: как используя UILoader сделать предзагрузчик?


Часовой пояс GMT +4, время: 22:41.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.