Головоломки Flash

Полоса, отражающая прогресс загрузки



Рисунок 17.3 Полоса, отражающая прогресс загрузки и текстовое поле, сообщают пользователю о том, как проходит загрузка ролика



Код для этого довольно прост. С помощью функции getBytesTotal () можно определить, каков размер клипа. Если перед функцией getBytes Total () поставить префикс _root, это позволит выяснить объем всего ролика. Чтобы определить, сколько килобайт уже загружено, надо воспользоваться функцией getBytesLoaded().
В ролике Loaderl.fla на рабочем поле находится экземпляр клипа, который представляет собой простой прямоугольник. Он называется "Progress Bar Fill" (Заполнение полосы загрузки). Этот экземпляр был создан так, чтобы центр клипа располагался в верхнем левом углу прямоугольника. Точно также был создан индикатор запаса горючего в игре "Луноход" (см. главу 16). Так как центр клипа находится в верхнем левом углу прямоугольника, свойству _xscale можно присвоить любое значение от 0 до 100, ширина клипа будет изменяться, то есть он будет заполнять область, расположенную справа от его центра.
К экземпляру клипа прикрепите небольшой сценарий, который с помощью функции getBytesLoaded() основной временной шкалы выяснит, сколько байт уже загружено, и в соответствии с этим изменит вид прямоугольника. Когда весь ролик будет загружен, временная шкала перейдет к кадру "complete" (Рисунок 17.4). В этом кадре появляется сообщение о том, что загрузка завершена. Для того чтобы начать игру, пользователь должен щелкнуть по кнопке, расположенной в этом кадре. Такая кнопка -очень полезный элемент ролика, так как во время долгой загрузки пользователь может не смотреть на монитор, а вы бы не хотели, чтоб он пропустил начало анимации.



Содержание раздела