Устройство главной временной шкалы зависит от фантазии аниматора. В рассматриваемом примере изображение лисы состоит из основного слоя и одного слоя для каждой руки. Изображение шара также включает несколько слоев.
Особое внимание следует обратить на то, как анимация развертывается во времени. Первый кадр представляет собой статический кадр без анимации, он содержит текст (см. рис. 6.1) и невидимую кнопку, которая помешается поверх хрустального шара.
Кнопка создается следующим образом: создайте новую кнопку, при помоши любой цветной области (например, зеленого прямоугольника) придайте ей нужную форму и поместите в один из верхних слоев главной временной шкалы. На данном этапе кнопка будет видна (рис. 6.3).
Нам необходимо, чтобы кнопка была активной и в тоже время скрытой от пользователя. Для этого в панели Properties выберите эффект Alpha и установите значение прозрачности 0 % (рис. 6.4). Можно просто заполнить в кнопке только кадр Hit, тогда она также будет не видна пользователю, но активна.
Примечание
Эффект Alpha назван по аналогии с термином "alpha channel" (альфа-канал), который используется для описания изображений. Считается, что графическое изображение состоит из четырех каналов: красного, зеленого, синего и альфа. Первые три канала определяют цвет пикселов, последний – их прозрачность. Если значение альфа-канала равно 0, изображение совершенно прозрачно. Поэтому при установке свойства Alpha в значение 0 flash-элемент станет невидимым.
Даже если кнопка является совершенно прозрачной, она никуда не девается с рабочего поля. Поэтому кнопка полностью активна и реагирует на щелчок мышью. Мы описали один способ создания невидимой кнопки. Другой способ рассматривается в главе 14.
Когда пользователь щелкает по кнопке, ролик переходит к кадру 2 и продолжает воспроизведение. Воспроизведение анимации продолжается до конца ролика.
Вы увидите, что со 2-го по 22-й кадр анимация лап содержит промежуточные отображения. В кадре 20 запускается анимация слоя "Ball effect", и шар сверкает. Ролик целиком можно посмотреть на Web-сайте (файл Crystalball.fla).
Наиболее важное событие в данной анимации – появление второй текстовой области в кадре 23. Эта область содержит ответ на вопрос пользователя. Текст задается при щелчке по кнопке, но вплоть до кадра 23 он не виден.
Таким образом, ролик состоит из одного начального кадра, который ждет действия от пользователя, и ряда анимированных кадров, отображающих в ходе своего воспроизведения текст. После завершения анимации ролик возвращается к первому кадру и ждет следующего вопроса.
Создание кода
В сущности «волшебство» данного ролика создается в сценарии Action Script кнопки. Как было сказано выше, сценарий задает переход ролика ко второму кадру и запускает анимацию. Это фактически последнее важное событие. Перед этим генерируется ответ, который помещается в текстовую область.
Так как ответ активизируется щелчком по кнопке, весь код необходимо поместить в сценарий, назначенный кнопке. Такой сценарий всегда начинается с оператора on, далее следует описание реакции на событие. Одним из часто используемых событий является событие release (нажатие кнопки).
Вначале сценарий создает массив и заполняет его списком ответов. Для этого существует множество способов. Один из них приведен ниже:
responses = new Array(«Yes», «No», «Ask again later»,"It is
certain", "Doubtful", "Probably", "The answer is unclear","Of
course not!", "Certainly!", "It looks positive", "It looks
negative");