Flash - статьи



              

Рассуждение о "прелоадере"


(Macromedia Flash 5.0).

,



Обзор прелоадеров (предварительных загрузчиков, индицирующих степень загрузки Flash-ролика) дает понять, что некоторые авторы допускают множество ошибок, например: считывание исходного размера файла в цикле, усложнение 1-го кадра, использование устаревших версий (некоторые команды уже не поддерживаются). В этом уроке разговор пойдет не о "художественном" оформлении, а именно о принципе реализации.

Нам нужны всего две конструкции:

GetBytesTotal() и &nbsp GetBytesLoaded()

Первая возвращает размер ролика в байтах, а вторая - размер в байтах загруженной части ролика.

Напишем простейший прелоадер, для этого создадим новый файл. На Scene1 разместим надписи: Bytes Total, Bytes Loaded, Percent и три "пустые" надписи. Получается примерно следующее:



Теперь в окне Text Options определяем надписи как динамические и назначаем имена переменных для этих надписей (сверху вниз), например: TotalField, LoadField и PercentField:



Для первого кадра в окне Actions (установите режим Expert Mode) пишем код (все кадры - ключевые):

Total = _root.GetBytesTotal();

Переменной Total (можно не объявлять) присваиваем размер файла в байтах;

TotalField = Total;

Переменной для надписи TotalField присваиваем значение переменной Total.
Больше к этому кадру ролик не обращается. (Маловероятно, что размер вашего файла будет изменяться в процессе загрузки).

Во втором кадре пишем код:

Load = _root.getBytesLoaded();

LoadField = Load;

Percent = int(Load / Total * 100);

PercentField = Percent + "%";

Переменной Load присваиваем значение загруженной части файла;

Переменной для надписи LoadField присваиваем значение переменной Load.

Переменной Percent присваиваем увеличенное в 100 раз округленное значение отношения загруженной части файла к размеру файла, т. е. процентное значение загрузки;

Переменной для надписи PercentField присваиваем значение переменной Percent и знак "%".

Третий кадр:

if (load < Total){gotoAndPlay (2);};




Содержание    Вперед