Home
Главная
Forums
Форум
Your Account
Ваш аккаунт
Web-технологии
HTML, XML, DHTML
JavaScript
SQL
PHP
Perl
SSI
ASP
CSS

Графика
Adobe PhotoShop
Adobe PhotoShop - 2
Macromedia Flash

Компьютеры
Hardware
Мобильные технологии
КПК и ноутбуки

Операционные системы
Unix/Linux
Windows 9x
Windows XP

Стоит посмотреть








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

    (Macromedia Flash 5.0).

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

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

    GetBytesTotal() и 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);};

    Если загружено меньше, чем размер файла - перейти к кадру 2. В первом кадре мы уже все сделали. Зачем туда обращаться?

    Кадр 4:

    Stop();

    В этом же кадре, но на другом слое уже начинается сам ролик. Разумно нарисовать кнопку Play и передавать управление на начало ролика.

    Если вы сделали все правильно, то получится примерно следующее (это только картинка):

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

    Если не вышло - вот исходный файл .

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

    А нужен ли вообще прелоадер? Ответить на этот вопрос поможет сам Flash!

    В режиме Test Movie в меню Debug выберите или установите свою скорость загрузки файла (учтите, что реальная скорость загрузки у пользователя будет гораздо ниже указанной):

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

    В меню View выбираем пункт Show Streaming:

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

    Тестируем наш ролик на различных скоростях загрузки:

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

    Успехов!

    PS. Обратите внимание: реальный размер ролика 2470 байт, а Flash "говорит", что 2468 байт! Я не знаю почему. Кто знает?



    Дополнительно на данную тему:

    Рисуем 'работающие' часы в Flash
    Снег во Flash
    Еще о 'прелоадере'
    Flash и видео: импорт, экспорт и работа с SWF, FLV, MOV (QuickTime), AVI, MPEG
    Flash 8 обзор
    Определение скорости компьютера
    Загрузка текста и переменных во Flash
    Передача данных из Flash в серверные сценарии
    Macromedia Flash 5 (обзор)
    Macromedia Flash 5 (анимация)

    Назад | Начало | Наверх
    Rambler's Top100