пятница, 22 февраля 2013 г.

15.1. Как создать программную анимацию?

Что такое анимация? Это плавное, постепенное изменение каких-то свойств объекта: положения, размера, цвета, формы... Анимация, с которой мы работали до сих пор, создавалась на временной шкале.
Однако, во Flash можно использовать и программную анимацию. Мы будем быстро, очень быстро, изменять положение снежинок. Поможет нам в этом событие ENTER_FRAME. Оно возникает само, без участия пользователя, со скоростью проигрывания ролика (по умолчанию это 24 кадра в секунду).



  • Итак, открой ролик со снегом, нажми F9 — будем дописывать сценарий.
  • Создай слушатель для снежинки (в моём листинге он записан в 26 строчке, в цикле рождения снежинок) и функцию snowEF, которая будет выполняться при возникновении события (30–33 строки): 

Разберёмся с командами в теле функции:

    • Сначала нам нужно узнать, какая из снежинок вызвала функцию. Это мы делаем в 31 строке: создаём переменную snow, которая ссылается на объект, вызвавший функцию (e.target). При этом мы «подсказываем» flash-плееру, что этот объект будет точно снежинкой и больше ничем другим (as Snow).
    • А затем мы увеличиваем y-координату снежинки на 10 пикселей (операция +=).
  • Результат (чтобы запустить ролик, нажми кнопку):

Здорово, да?! Все снежинки монолитной стеной упали вниз. И, по сути, так и должно быть — они ведь все падают с одинаковой скоростью (10 пикселей за 1/24 секунды). Для более реалистичного движения снежинок каждой нужно задать персональную скорость.


Комментариев нет:

Отправить комментарий