![]() |
Неординарная ситуация с прелоадером...
Уважаемый ALL.
Помогите с прелоадером. Сразу скажу перечитал все топики про него. Сам делал простые варианты но вот теперь столкнулся с магическим getBytesLoaded and getBytesTotal и никак не могу решить следующую проблему. Дано: Делаю слайдшоу в котором мне нужно взять из массива имена файлов и загрузить их в мувиклипы. А именно, я делаю один базовый мувиклип в который кладу "таргет", потом иду по массиву и каждый раз дублируя мувиклип загружаю JPG в таргет. Вопрос о том как мне показать процесс загрузки каждого JPG? Я в клипе "тот что по умолчанию" на таргет навесил скрипт который берет getBytesTotal, и getBytesLoaded так вот как только я делаю таргет.loadMovie("JPG") я сразу получаю что loaded = total = 15Kb or 20Kb в зависимость от размера JPG. Может не там или не то делаю? А? |
Vidimo nikto ne znaet, ili tak nel'zya sdelat'? :(
|
Да нет, всё можно сделать, только непонятно, что надо :)). Может, скрипт выложишь ?
|
я знаю что в последних версиях flash плеера появился баг, а именно:
при подгрузке именно JPG файлов, метод getBytesLoaded не работает, хотя getBytesTotal работает. :( |
Ты не у себя на компутере всё это тестишь, надеюсь ? :) А то тогда конечно сразу будет показывать. Попробуй использовать действительно большую (500 KB) картинку - что он на это скажет ? Если опять сразу, что всё давно загружено, то ошибка, по-моему, только в коде прелоадера может быть - проверь, когда писал getBytesTotal, не скопировал ли ты его случайно с getBytesLoaded и забыл изменить? Было бы getBytesTotal / getBytesTotal * 100 = 100 :)
Всё, больше не знаю почему такое может быть - сдаюсь :) Philarmon |
Jeep прав...
Мало того, уточню: даже getBytesTotal работает не так, как с swf: например, загружаешь десять jpg-ов. Когда первый загружается, он (ОН – getBytesTotal) не показывает его размера, а когда первый уже, и загружается второй, ОН показывает размер первого и т.д. В общем, х..рня какая-то. :( :) |
Nu horosho, sdelau ya eti JPG SWF-kami i budu gruzit' swf. No vot mozgi u menya skrutilo vidimo i ya nikak ne poimu a kak mne moi cikl kotorii idet po massivu tormoznut' na moment zagruzki... :rolleyes:
for(i=1; i < imageSrc.length; i++){ imageZone.duplicateMovieClip("iz"+i,10+i); imageZone = this["iz"+i]; imageZone.loadZone.loadMovie(imageSrc[i]); } Eto bil moi cikl dublirovaniya i zagruzki. Teper' mne nuzno vstavit' tuda zaderzhku. Tak vot ya ne poimu chto mne i kuda polozhit'. Ya mogu povesit' na sobitie onEnterFrame proverku na zagruzku moih swf files, no vot kak etot rezul'tat proverki sovmestit' s ciklom zagruzki nikak ne mogu v tolk vzyat'. Ideya to prostaya: 1) Vzyat' imya file iz massiva 2) produblirovat' movieclip 3) zagruzit' swf-file v poluchivshiysya movieclip 4) podozhdat' poka zagruzitsya 5) pereiti k punktu 1 No vot ne vihodit kamenniy cvetok... |
;) ну вот и заработало оно.
Вобщем сделал я свой прелоадер. И он хорошо работает с JPG. И даже не знаю что вам сказать по поводу того что getBytesLoaded() and getBytesTotal() плохо работают с JPG. Работают отлично, особенно если проверять по dial-up или чуть побыстрее. Так что если есть вопросы, задавайте. |
...дык поделись... :rolleyes:
... почитаем, поучимся :p :D :D |
Вобщем все проще пареной репы оказалось.... Легко теперь говорить :p
Вобщем в первом и единственном фрейме делаю загрузку картинки в мувиклип и присваиваю флажку готовность отслеживать загрузку. imageZone.loadMovie("/test.jpg"); loading = 1; далее делаю функцию _root.onEnterFrame = function(){ if(loading == 1){ total = imageZone.getBytesTotal(); loaded = imageZone.getBytesLoaded(); percentage = int(loaded/total*100); preloader.gotoAndStop(percentage); if( loaded == total and loaded > 4){ loading = 0; } } } preloader - это мувик на 100 кадров, в котором по таймфрейму движется указатель. |
| Часовой пояс GMT +4, время: 09:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.