Исходники для Flash
Уроки по Flash
Статьи
Форум
Гостевая книга

 

 

Добавить сайт в избранное

 

 

Предварительные загрузчики (Прелоадеры)

Прелоадеры или предварительные загрузчики, если по-русски, вызывают у некоторых пользователей множество вопросов. Может быть, прочитав этот урок, многие смогут понять, что на самом деле все просто! Я расскажу как сделать процентный прелоадер, прелоадер в виде заполняемой полоски и другие виды прелоадеров.

Для прелоадера лучше всего оставлять первый кадр во flash-фильме. Итак, процентный прелоадер:

  • В кадре, где будет находиться загрузчик, поставьте код stop();
  • Создайте текстовое поле Dinamic Text с именем переменной text, в его свойствах уберите параметр Selectable.

  • Выделите текстовое поле мышкой, нажмите F8, в появившемся окне выберите Movie Clip, в поле Name введите preloader.

  • Нажмите на созданный клип правой кнопкой мыши, выберите Actions, вставьте сценарий:
onClipEvent (enterFrame) {
percent = Math.floor((_root.getBytesLoaded()/_root.getBytesTotal())*100);
text = percent+"%";
if (_root.getBytesLoaded() >= _root.getBytesTotal()) {
_root.gotoAndPlay(2);
}
}

 

 

 

 

Разберем всё по строчке...

onClipEvent (enterFrame)- это обработчик события, который позволяет постоянно обновлять значение текстового поля внутри клипа preloader путем постоянной вставки в него еще одного кадра.

percent = Math.floor((_root.getBytesLoaded()/_root.getBytesTotal())*100); - это переменная. Math.floor() - это функция для округления значения до целого числа. Ведь проценты нужно округлить, а не "любоваться" числами с плавающей точкой. _root.getBytesLoaded() - функция, которая возвращает число со значением количества загруженных байт на данный момент. _root.getBytesTotal() - функция, которая возвращает число со значением размера всего flash-фильма в байтах. Таким образом, мы делим количество полученных байт на данный момент на общее число байт и умножаем все это на 100 и полученное значение округляем до целого. Итак, получем данные о загрузке flash-фильма в процентном отношении.

text = percent+"%";

Переменная, которая выводит значение переменной percent в текстовое поле с именем переменной text и прибавляет ко всему этому значению знак процента ("%").

if (_root.getBytesLoaded() >= _root.getBytesTotal()) {
_root.gotoAndPlay(2);
}
}

Если количество загруженных байт будет больше либо равно общему количеству байт клипа, то начать проигрывать flash-фильм, то есть второй кадр главной сцены. Процентный прелоадер готов! Думаю, что в его создании нет ничего сложного.


Для прелоадера в виде заполняемой полоски нужно создать клип из 100 (а можно не из 100) кадров, в котором маской нужно будет перекрывать заполнение полоски и поставить на этот клип код:

onClipEvent (enterFrame) {
percent = Math.floor((_root.getBytesLoaded()/_root.getBytesTotal())*100);
gotoAndPlay(percent);
if (_root.getBytesLoaded()>=_root.getBytesTotal()) {
_root.gotoAndPlay(2);
}
}

 

 

 

 

gotoAndPlay(percent); - клип будет играть тот кадр, который передаст ему переменная percent, например если загрузится 47 процентов, то и в клипе будет играть 47 кадр. Если количество кадров в прелоадере не равно 100, как у меня, то просто поменяйте 100 на ваше число в строке переменной percent: ...etBytesTotal())*100 - вот тут! если у вас прелоадер из 40 кадров, что переменная будет выглядеть так:

percent = Math.floor((_root.getBytesLoaded()/_root.getBytesTotal())*40);

Повесьте этот выше описанный код на любой Movie Clip и получитя прелоадер! Это может быть не только загрузчик в виде линии, а, например, заполняемый водой стакан или что-нибудь еще!

Как проверить прелоадер? Откройте fla-файл, нажмите Ctrl+Enter, выберите в меню Debug нужную скорость и снова Ctrl+Enter!

Что-то не получилось? Скачайте исходник!

Что-то не понятно? Кидайте пост в форум! Объясним популярно!

Удачи всем!

 

Design and development by PLAZMAN

Copyright 2003. All rights reserved.

 



Hosted by uCoz