Как определить, была ли нажата клавиша удаления в Actionscript 3? - PullRequest
3 голосов
/ 09 октября 2009

Как определить, была ли нажата клавиша удаления с помощью Actionscript?

addEventListener(KeyboardEvent.KEY_UP, onKeyUp);

...

function onKeyUp(event:KeyboardEvent):void
{
    trace(event.keyCode);
}

Приведенный выше код не дает значения при нажатии клавиш удаления, возврата, возврата и других команд Однако клавиши со стрелками do дают значения.

Ответы [ 4 ]

8 голосов
/ 11 декабря 2009
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);
....

function onKeyPressed(event:KeyboardEvent):void
{
   if (event.keyCode==Keyboard.DELETE) {
       .....
       }

}

это хорошо работает ... Но если вы тестируете фильм из Flash, он не будет работать, поэтому экспортируйте его в SWF и протестируйте ....

2 голосов
/ 09 октября 2009

Просто предположите, что вы используете событие TEXT_INPUT, это не работает для удаления и возврата. Чтобы поймать их, вы можете добавить eventListener на сцену и слушать KeyboardEvent.

1 голос
/ 21 сентября 2011

Старый поток, но если кто-то зайдет так далеко: во Flash Player внутри IDE эти ключи связаны с ярлыками. При тестировании фильма выберите «Управление»> «Отключить сочетания клавиш в проигрывателе», и вы вернете события назад.

1 голос
/ 09 октября 2009

Код будет работать нормально, если экранный объект, который вы прикрепили, слушатель находится в фокусе. Для глобального прослушивания, как сказал Тео, вы должны подключить слушателя к stage. Доступ к stage из объекта, который еще не добавлен в список отображения, приведет к нулевой ошибке. Сделайте это в обработчике событий ADDED_TO_STAGE, чтобы быть в безопасности.

...