Jim
19.12.2013, 18:11
Попробовал заделать SWF'шку с прелоадером, данные в которой будут загружаться только по нажатии кнопки, а не сразу при запуске.
Как пытался это устроить, в двух словах:
В классе прелоадера коммандой stop(); (или в первом кадре Flash IDE, без разницы) торможу проигрывание на первом кадре, в котором (уже посредством Flash IDE) я расположил кнопку Play.
По нажатию этой кнопки, должно происходить следующее:
- Мы перескакиваем на кадр, в котором подгружается MovieClip "Heap" со всем содержимым библиотеки.
- И далее запускаем EventListener, в скрипте прелоадера, который кодом вырисовывает полосу загрузки, обновляя ее до тех пор, пока все не будет загружено.
- После загрузки, полосу удаляем и перескакиваем на третий кадр, который уже является рабочим.
Сколько не колдовал - по нажатию на Play полоса загрузки показывает, что данные SWF'шки все равно загружаются с первого кадра, нажал я Play или нет. То есть, если после запуска программы подождать достаточно долго - ролик загрузится весь и при клике процесс загрузки мы не заметим вовсе, и сразу перейдем на рабочий кадр.
Прежде, чем выкладывать код, хочу узнать - задумку вообще реально реализовать, без вмешательства второго SWF? SWF-документ по любому подгружается всегда весь?
Добавлено через 3 часа 44 минуты
Выяснил, что нельзя. Загрузив первый кадр, качаются и все остальные.
Спасибо ребят, мощный фидбэк тут.
Как пытался это устроить, в двух словах:
В классе прелоадера коммандой stop(); (или в первом кадре Flash IDE, без разницы) торможу проигрывание на первом кадре, в котором (уже посредством Flash IDE) я расположил кнопку Play.
По нажатию этой кнопки, должно происходить следующее:
- Мы перескакиваем на кадр, в котором подгружается MovieClip "Heap" со всем содержимым библиотеки.
- И далее запускаем EventListener, в скрипте прелоадера, который кодом вырисовывает полосу загрузки, обновляя ее до тех пор, пока все не будет загружено.
- После загрузки, полосу удаляем и перескакиваем на третий кадр, который уже является рабочим.
Сколько не колдовал - по нажатию на Play полоса загрузки показывает, что данные SWF'шки все равно загружаются с первого кадра, нажал я Play или нет. То есть, если после запуска программы подождать достаточно долго - ролик загрузится весь и при клике процесс загрузки мы не заметим вовсе, и сразу перейдем на рабочий кадр.
Прежде, чем выкладывать код, хочу узнать - задумку вообще реально реализовать, без вмешательства второго SWF? SWF-документ по любому подгружается всегда весь?
Добавлено через 3 часа 44 минуты
Выяснил, что нельзя. Загрузив первый кадр, качаются и все остальные.
Спасибо ребят, мощный фидбэк тут.