Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript. Гэри Розенцвейг
ваш первый настоящий Flash-ролик. Вместо простого текста "PART 1" – "PART 4", показываемого в каждом ключевом кадре, вы можете поместить презентацию наподобие той, которая создается в PowerPoint или других программах. Здесь демонстрируются возможности Flash, выходящие за рамки простой анимации.
Урок 6. Анимация при помощи ActionScript
Исходный файл: Animate.fla
Теперь научимся перемещать предметы по рабочему полю при помощи ActionScript. Необходимо будет назначить клипу сценарий подобно тому, как мы сделали это для кнопки на нашем предыдущем занятии.
Сначала создайте новый ролик. Затем поместите клип на рабочее поле[5]. В примере Animate.fla на рабочее поле было помещено изображение лисы. Если хотите, нарисуйте что-нибудь более простое, например круг.
Вы можете поместить на рабочее поле экземпляр любого клипа, имеющегося в библиотеке. На данный момент наш фильм состоит из одного слоя и одного кадра, помещенного на рабочее поле (рис 2.9).
Рисунок 2.9.Ролик содержит клип и назначенный ему сценарий
Сценарий, назначенный клипу, использует программу-обработчик подобно сценарию кнопки в предыдущем занятии. Чтобы задать программу обработки, вместо командной строки on введите строку onClipEvent, которая определяет события для клипов ролика. В данном случае событие будет следующим: enterFrame. Это автоматическое событие, происходящее при каждом обращении к данному кадру[6]. Если ролик должен воспроизводиться со скоростью 12 кадр/с, оно должно посылаться в программу обработки 12 раз в секунду.
Подобно программе on(press) в сценарии кнопки, команды реакции на событие onClipEvent(enterFrame) заключаются в фигурные скобки.
В данной программе будет только одна команда, перемещающая клип на один пиксел влево. Давайте взглянем на сценарий и проанализируем, какие действия в нем выполняются.
OnClipEvent(enterFrame) {
this._x – ;
}
Команда this._x –, вероятно, будет совершенно непонятной для людей, не знакомых с языками программирования, поэтому разберем ее по частям.
Команда this обозначает обращение команды к объекту, который ее содержит. В данном случае this используется для обращения к клипу, которому назначен этот сценарий.
За командой this следует точка, обозначающая обращение к свойству объекта. В нашем примере _x относится к горизонтальному положению клипа.
Итак. this._x определяет горизонтальное положение клипа. Символ – является декрементом (командой уменьшения значения). Он уменьшает значение стоящей перед ней величины на 1 (пункт). Таким образом, команда this. _x – берет значение горизонтального положение клипа и вычитает 1, благодаря чему клип перемещается влево.
Если клип необходимо переместить вправо, используется команда ++, которая называется инкрементом (это команда увеличения значения). Если вы хотите переместить клип вправо или влево сразу на несколько пикселов, используйте соответственно += или -=:
OnClipEvent(enterFrame) {
this._x -= 5;
}
Данная команда переместит клип сразу на пять пикселов.
Урок 7. Возможность
5
Когда употребляется термин «ролик» (movie), речь идет обо всем файле проекта. Термин «клип» употребляется для символа типа movie clip. – Прим. науч. ред.
6
Если ролик остановлен командой stop() или просто состоит из одного кадра, то кадр «зацикливается», то есть перерисовывается с той скоростью, которая задана ролику. – Прим. науч. ред.