Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Вопрос по прелодеру (http://www.flasher.ru/forum/showthread.php?t=51881)

AVG 24.11.2003 10:51

Вопрос по прелодеру
 
Сделал простенький прелодер,
вот он:

onClipEvent (load)
{
tot = _root.getBytesTotal();
}
onClipEvent (enterFrame)
{
loaded = _root.getBytesLoaded();
amountLoaded = loaded/tot;
percent = int(amountLoaded*100);
text=Math.floor(percent);
text="Loaded 335Kb / "+text+"%"
if(amountLoaded >= 1.0){_root.gotoAndStop(2)}
}


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

Все, на первый взгляд, просто.

НО он почему-то выдает НЕ размер всего ролика, а размер ПЕРВОГО СЛОЯ. (В ролике, вернее в исходнике несколько слоев, и вот прелодер почему-то _root.getBytesTotal(); получает только размер первого слоя и начинает анимацию. И как только проходит загруженная часть -- ролик начинает тормозить.

:confused: :confused: :confused:

Кто-нибудь с таким сталкивался? И как выкручивался?

Надеюсь, вроде внятно изложил проблему (велик и могуч русский...).

Dimonius 24.11.2003 13:39

onClipEvent (load)
{
tot = _root.getBytesTotal();
}
onClipEvent (enterFrame)
{


loaded = _root.getBytesLoaded();
loaded1 = _level1.getBytesLoaded();
loaded2 = _level2.getBytesLoaded();

big_loaded = loaded + loaded1 + loaded2;

amountLoaded = loaded/tot;
percent = int(amountLoaded*100);
text=Math.floor(percent);
text="Loaded 335Kb / "+text+"%"
if(amountLoaded >= 1.0){_root.gotoAndStop(2)}
}


Так можно попробовать.


Еще можно попробовать без _root, но не уверен.

loaded = getBytesLoaded();

Nox Noctis 24.11.2003 13:42

а ты стоп в первом кадре анимации поставь :)

иначе ролик проигрывается ПО МЕРЕ ТОГО КАК загружается.

Ice_com 24.11.2003 14:02

Не заморачивайся, вот тебе еще проще
ставишь в первый кадр
t = this.getBytesTotal();
l = this.getBytesLoaded();
p = l/t*100;
_root.PreloaderBar.gotoAndStop(Math.round(p/10)+1);
_root.PreLoaderBar.PercentL = String(int(p)) add "%";

ставишь во второй кадр
t = this.getBytesTotal();
l = this.getBytesLoaded();
if (t<>l) {
gotoAndPlay(1);
}

Все


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

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