Actionscript 2: MovieClipLoader.onLoadProgress не запускается - PullRequest
1 голос
/ 19 сентября 2008

Я работаю во Flash CS3, ориентируясь на Actionscript 2, и пишу предварительный загрузчик изображений. Когда я тестирую фильм с включенной имитацией загрузки, все работает нормально, и мой предварительный загрузчик успешно обновляет индикатор выполнения загрузки, который я сделал. Когда я загружаю фильм на свой веб-сервер, он почти ведет себя так, как будто событие MovieClipLoader.onLoadProgress не запускается до самого конца загрузки, потому что фильм сидит там в течение нескольких секунд при загрузке без уведомления, а затем появляется внезапный всплеск активности, и мой прелоадер очень быстро уходит от 0 до 100%. Кто-нибудь сталкивался с таким поведением раньше, и если да, что я делаю не так?

Ответы [ 4 ]

1 голос
/ 19 сентября 2008

Вы пробовали это в разных браузерах? Я верю, что Flash, по крайней мере, в некоторых случаях, использует браузер для загрузки файла. Возможно, Firefox загружает файл без уведомления Flash, а затем отправляет его на флэш-память одним большим пакетом. Я не видел, чтобы FF делал это сам, но, возможно, расширение перехватывает загрузку.

Единственный раз, когда я думаю, что я видел прогресс в подобном пакете, это когда я получал кэшированную копию вместо повторной загрузки. Но так как вы видите фактическую загрузку, я предполагаю, что это не то, что вы получаете.

Попробуйте это в IE и посмотрите, получаете ли вы такое же поведение.

1 голос
/ 19 сентября 2008

Я бы предложил использовать прокси-сервер отладки, такой как Charles (http://www.charlesproxy.com/), чтобы увидеть, как файл загружается с вашего сервера (например, существует ли высокая задержка перед началом загрузки, сколько секунд на самом деле это занимает) для передачи данных). Таким образом, вы можете лучше видеть, точно ли предварительный загрузчик отражает передачу данных с сервера.

0 голосов
/ 24 сентября 2008

После долгих испытаний я полностью перестроил / переписал принципы работы прелоадера, и это исправило мою проблему. То, что я думал, было некоторое отставание между загрузкой окончательного изображения и запуском события, на самом деле (по причинам, которые я до сих пор не до конца понимаю), код, который обновил мой клип preloader, не запускался, поскольку события выстрелил, но вместо этого ждал, пока последнее изображение в серии не начнет загружаться, чтобы начать работать. Я переместил код, который обновляет ход загрузки из фрагмента ролика preloader (который просматривал некоторые переменные прогресса уровня _root и обновлял себя при вводе фрейма) в само событие onLoadProgress. Все, кто прокомментировал, большое спасибо за быстрые ответы, и как только я достигну своего 15-летия, я проголосую за оба ваших ответа, поскольку они были полезны, если не совсем ответ, который я искал.

0 голосов
/ 19 сентября 2008

Спасибо за быстрый ответ Мэтт. Я никогда не слышал о Чарльзе раньше, но это кажется невероятно мощным инструментом. В моих целях я также вижу, как файл получает запросы и прогресс, используя инструмент Firebug Net в Firefox. И Чарльз, и Firebug показывают, что изображения запрашиваются и загружаются успешно, и все изображения завершаются за несколько секунд до того, как флэш-фильм появляется, чтобы ответить и обновить строку загрузки / запустить onLoadProgress.

...