On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

Рецепт приготовления прелоадера

Автор: © CyberMax



1. Создадим в том мувике (Movie), в который мы хотим добавить индикатор загрузки новую сцену (Scene) и дадим ей имя Preloader. Здесь разместится наш прелоадер. Имя сцены с основной анимацией в данном случае нас не интересует, а поэтому это имя может быть любым. Я, например, назвал ее Movie. Причем сцена Preloader должна находится в списке сцен (Вызывается из меню Window / Panels / Scene) на самом верху. Это связано с тем, что сцены проигрываются в том порядке, в котором сцены перечислены в окне Scene сверху вниз (если, конечно, мы не изменим этот порядок программно).



2. Затем создадим мувиклип (MovieClip) который будет нам служить индикатором процента загрузки. Для этого создадим новый стокадровый мувиклип в котором каждый кадр будет соответствовать определенному проценту загрузки (от 1 до 100). Назовем этот клип к примеру Progress Bar (не сильно оригинально, но по сути верно).
Содержание этих ста кадров зависит только от вашей фантазии. Это может быть и просто бегущая синяя полоска как у меня, а может быть и навороченная анимация. Только особенно не увлекайтесь -- как бы не понадобился прелоадер к прелоадеру. ;)

Теперь осталось сделать самую малость -- заставить все эти красивости функционировать. Чем мы сейчас и займемся.

3. В первый кадр сцены Preloader мы вставим следующий frame action :

onePercent = getBytesTotal() / 100;

В этой строчке мы вычисляем размер одной сотой части нашего мувика(в байтах) и записываем вычисленное значение в переменную с именем onePercent. Это значение нам понадобится в дальнейшем.

4. Во второй кадр мы поместим созданный на втором шаге мувиклип Progress Bar и дадим ему имя (Instance name) progressBar. Затем вставим следующий код (ActionScript) :

progressBar.gotoAndStop(int(getBytesLoaded() / onePercent));

if (getBytesLoaded() >= getBytesTotal()) {
nextScene ();
}


Смысл приведенного фрагмента кода следующий :

-- Перейти в мувиклипе progressBar на кадр, соответствующий проценту загрузки нашего мувика (Первая строка).
-- Если загружен весь мувик, то перейти в следующую сцену.

5. Третий кадр также содержит frame action, который зацикливает проигрывание нашего мувика до тех пор, пока он не будет загружен полностью. Достигается это путем безусловного перехода на второй кадр :

gotoAndPlay(2);

6. Это все. Наш индикатор процесса загрузки (прелоадер) готов. Проверить его на работоспособность можно воспользовавшись пунктом меню View / Show streaming предварительно выбрав подходящую скорость из меню Debug.

PS Не забудьте положить что-нибудь увесистое в сцену Movie.



Литература по FLASH