Событие клавиатуры в Action Script 3.0
Flash - Action Script 3.0

Событие клавиатуры в Action Script 3.0

Создадим новый документ. Для данного примера импортируем в библиотеку какой-нибудь рисунок (Файл - Импорт - Импортировать в библиотеку).

Теперь откроем библиотеку и перенесём экспортируемый рисунок из библиотеки на сцену нашего приложения. Теперь выделим рисунок и преобразуем его в фрагмент ролика. Для этого выделим рисунок и нажмём клавишу F8. Появиться окно - преобразовать в символ. Введём Имя, выберем тип - Фрагмент ролика и нажмём кнопку ОК. В свойствах объекта в строке Имя экземпляра укажем его имя Korablik. Данное имя будет использоваться нами в Action Script.

Теперь создадим слой для Action Script. Выберем на новом слое первый кадр и откроем Окно - Действие (F9) для написания скрипта Action Script. Сразу определим некоторые понятия:

stage - это сцена, на которой находиться кораблик;
addEventListener - "слушатель" событий.

Теперь создадим событие, на которые необходимо будет реагировать на сцене. В нашем случае будет нажатие на клавиатуре на кнопку KEY_DOWN. Напишем следующую команду:

stage.addEventListener(KeyboardEvent.KEY_DOWN, fun);
function fun (e:KeyboardEvent):void
{
    korablik.x -=5;
}

При таком событии ролик будет реагировать клавиатуру и объект будет перемещатьс влево.

Теперь усложним задачу, мы хотим чтобы объект перемещался влево когда нажата кнопка влево. У нас получилось следующая конструкция:

 

stage.addEventListener(KeyboardEvent.KEY_DOWN, fun);
function fun (e:KeyboardEvent):void
{
    if (e.keyCode == Keyboard.LEFT) {
    korablik.x -=5;
    }
}

Мы добавили оператор проверки кнопки нажатия на клавиатуре.

Теперь сделаем условия, чтобы по нажатию соответствующих клавиш клавиатуры объект смог перемещаться вверх, вниз, вправо. У нас получился следующий скрипт:

 

stage.addEventListener(KeyboardEvent.KEY_DOWN, fun);
function fun (e:KeyboardEvent):void
{
    if (e.keyCode == Keyboard.LEFT) {
    korablik.x -=5;
    }
    if (e.keyCode == Keyboard.RIGHT) {
    korablik.x +=5;
    }
    if (e.keyCode == Keyboard.DOWN) {
    korablik.y +=5;
    }
    if (e.keyCode == Keyboard.UP) {
    korablik.y -=5;
    }

}

При тестировании ролика мы можем заметить что при нажатии соответствующих кнопок объект перемещаеться влево, вправо, вверх, вниз. Теперь усложним. Необходимо чтобы при нажатии объект ещё и поворачивался в соответствующую сторону. Добавим объекту свойство Rotation. Каждый поворот прибавляет 90 градусов по часовой стрелки от начального угла в 0 градусов. Получился следующий скрипт:

 

stage.addEventListener(KeyboardEvent.KEY_DOWN, fun);
function fun (e:KeyboardEvent):void
{
    if (e.keyCode == Keyboard.LEFT) {
    korablik.x -=5;
    korablik.rotation =0;
    }
    if (e.keyCode == Keyboard.RIGHT) {
    korablik.x +=5;
    korablik.rotation =180;
    }
    if (e.keyCode == Keyboard.DOWN) {
    korablik.y +=5;
    korablik.rotation =270;
    }
    if (e.keyCode == Keyboard.UP) {
    korablik.y -=5;
    korablik.rotation =90;
    }
}

 

 

Случайный анекдот нашего сайта

— Дорогой, я сбросила два килограмма!

— Смыть не забудь.

 

Три часа ночи. Муж с женой спят. Вдруг звонок в дверь. Муж, матерясь, идет открывать. На пороге стоит мужик, очевидно поддатый:

— Друг, пойдем со мной, тут рядом, поможешь меня толкануть.

— Ты, мужик, охренел, что ли? Три часа ночи. Иди кого-нибудь другого проси.

Муж ложится опять в постель. Жена спрашивает, кто приходил.

— Да, какой-то козел застрял, просил его толкнуть. Я его послал.

— Ты просто зверюга какой-то. Помнишь, как у нас мотор заглох, да под дождем, и нас какой-то парень целый час толкал? Ты что, человека выручить не можешь?

Муж, опять матерясь, вылезает из постели, одевается. Выходит во двор в полной темноте. Кричит:

— Мужик! Ты где?

Из темноты:

— Здесь я! Иди сюда!

— Да где здесь?

— Ну здесь, на качелях!

 

Сегодня людей благодарят за то, что они поступают как люди.

 
© Сайт защищён авторскими правами. При перепечатки материала ссылка на наш сайт www.poznajvse.com обязательна
Написать web-мастеру: portal.inform@gmail.com
 

Посещаемость портала:

Посещаемость сайта: