![]() |
Когда возращает управление функция loadMovie()
Ситуация следующая: в клипе при выборе пункта меню в клип-заглушк загружается 80мб swf, в котором есть preloader.
В итоге: в момент загрузки клип виснит секунд на 3-5, после чего в загружаемом swf preloader сразу стартует с 100%. Если к клипу-заглушке прикрепить обработчик события enterFrame c кодом trace( getBytesLoaded() + "из" + getBytesTotal(), то картина следущая: 4 из 4 4 из 4 4 из 4 (момент вызова loadMovie - зависание на 3-5 сек) 81920000 из 81920000 81920000 из 81920000 81920000 из 81920000 Никакого намека на паралельность работы программы и загрузки внешнего клипа. Выходит, что loadMovie() ждет окончания загрузки клипа и лишь потом возращает управление в программу, ее вызвавшую. Вопрос: у кого-нибудь есть работающий пример, в котором после некоторого события (пр. нажатия кнопки) загружается внешний swf, а на экране отображаются данные о процессе его загрузки? |
На локале, прелоадеры не работают, потому что система всегда возращает полное количество.
|
Почему не работают. Да дело даже не в предзагрузчике, почему movie'k виснит, ожидая когда полностью загрузится внешний swf. При обычном проигровании movie'ка flash player же не ждеть полной загрузки клипа, начинает проигровать с первого загруженного кадра, почему тоже самое не происходит в случае с loadMovie()?
|
Вообще-то обычно всё работает, как надо.
То есть - внешний ролик подгружается, а исходный работает независимо. Может, исходник выложишь? Да, а у тебя там и правда 80 мег подгружается? |
В исходнике нет ничего особенного (банальный вызов этой приславутой loadMovie при нажати на пункт меню). Но прога виснит до тех пор пока не загрузится swf - это факт (клип, выполняющий роль указателя мышки, перестает на время загрузки двигаться и вообще не проигрывается). Лучше кто нибудь мне показал пример,где выводится процеесс загрузки внешнего swf.
|
Похоже, дело действительно в том, что грузится с локального диска. У меня похожая фигня, только там размеры поменьше.
Прелоадеров - дохренищи в разделе "исходники". |
Предзагрузчик способен написать практически любой пользователь Flash. Только вот работающего preloader'a в связке с loadMovie(), я к моему сожалению еще не видел.
P.S. Спасибо всем, кто вместе со мной пытался разобраться в этом вопросе. |
Вот такой код у меня отрабатывает нормально, это конечно не супер-пупер, но работает:
код этот стоит на MC, в который собственно происходит загрузка (_root.MyClip): Код:
onClipEvent (data) {Код:
function LoadLesson (LessonName) { |
Очень странно. Опять неудача. Для клипа-заглушки, куда загружается внешний swf, пишу, как ты посоветовал:
onClipEvent (data) { totalBytes = this.getBytesTotal(); loadedBytes = this.getBytesLoaded(); trace(loadedBytes); /*if (totalBytes >= 1) { _root.Preloader._visible = true; _root.Preloader.Indicator._width = Math.floor( (loadedBytes / totalBytes) * 100 ); } if ( loadedBytes >=1 and totalBytes >= 1 and loadedBytes == totalBytes) { _root.Preloader._visible = false; }*/ } Итог: теже 3-5 сек. тишины (кнопка даже залипает), предзагрузчик все это время спит мертвым сном, хотя я ожидал, что 3-4 разных значений loadBytes отрассируется. Если тебя не затруднит, пришли мне на почту свой какой-нибудь работающий пример (*.fla или *.swf). ufo@starlink.ru |
Спасибо за пример, но мне нужно, чтобы предзагрузчик отражал процесс загрузки внешнего swf, а не главного моvie'ka.
Вместо "001.swf", я пишу путь к своему 80 мб swf, что приодит к уже известным последствиям. Прога виснит, до тех пор пока не загрузится целиком swf, никакого процесса загрузки preloader не отображает. Кнопка "GO" залипает на время подзагрузки в нешнего swf в положении down.... Вот такие дела ... |
| Часовой пояс GMT +4, время: 09:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.