![]() |
|
||||||||||
|
|||||
|
Сделал простенький прелодер,
вот он: 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(); получает только размер первого слоя и начинает анимацию. И как только проходит загруженная часть -- ролик начинает тормозить. Кто-нибудь с таким сталкивался? И как выкручивался? Надеюсь, вроде внятно изложил проблему (велик и могуч русский...).
__________________
Regards |
|
|||||
|
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();
__________________
Учиться и, когда придет время, прикладывать усвоенное к делу - разве это не прекрасно! Беседовать с другом, приехавшим издалека, - разве это не радостно! Не быть по достоинству оцененным светом и не таить обиду - разве это не возвышенно! |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
а ты стоп в первом кадре анимации поставь :)
иначе ролик проигрывается ПО МЕРЕ ТОГО КАК загружается. |
|
|||||
|
Не заморачивайся, вот тебе еще проще
ставишь в первый кадр 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); } Все
__________________
A lot can happen in the middle of nowhere... |
![]() |
Часовой пояс GMT +4, время: 00:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|