) Ниже представлен код ActionScript, который выполняет все это.
1 xmov =1;
2 ymov =1;
3 accel =2;
4 angle =Math.atan2(ymov,xmov)*180/Math.PI;
5 car._rotation =angle;
6 _root.onEnterFrame =function (){
7 if(Key.isDown(Key.UP)){
8 xmov +=accel;
9 ymov +=accel;
10 }else if (Key.isDown(Key.DOWN)){
11 xmov -=accel;
12 ymov -=accel;
13 }
14 car._x +=xmov;
15 car._y +=ymov;
16 }
Строка 3 инициализирует переменную ускорения accel. Другие отличия с примером car3.fla заключены лишь в строках 7-13. Это то место, где код ActionScript предписывает, что если нажата кнопка со стрелкой вверх, то переменные xmov и ymov увеличивают значение переменной ускорения accel. Если нажата кнопка со стрелкой вниз, то значение переменной accel уменьшается на величину переменных xmov и ymov.
Обзор ActionScript: объект Key
Объект Key позволяет вам получить информацию о состоянии клавиатуры. Вы можете использовать этот объект для определения какая клавиша была нажата последней, утоплена ли вниз определенная кнопка, переключена ли заданная кнопка и так далее.
Метод объекта Key, который мы будем использовать наиболее часто для игр в этой книге, это Key.isDown(keyCode). Он позволяет определить какие кнопки были нажаты пользователем. (Как вы понимаете, перехват «событий клавиатуры» будет важной функцией в управлении играми.) Например, Key.isDown(Key.LEFT) возвращает булево значение true, если левая стрелка нажата, или значение false, если нет. В игре, где я хочу перемещать персонажа влево каждый раз, когда пользователь нажимает на левую кнопку, я проверяю наличие указанной ситуации в каждом фрейме.
Каждая кнопка на клавиатуре имеет соответствующий числовой код, который должен передаваться как параметр для получения результата. Но некоторые кнопки имеют предопределенные «словесные» обозначения, которые вы также можете передавать в качестве параметра. Те из них, которые мы будем использовать наиболее часто имеют обозначения Key