![]() |
|
||||||||||
|
|||||
|
Как сделать что-то типа этого:
где leftKeyPressed обозначает нажата ли левая стрелка. То есть как это узнать... |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Добавить обработчики KEY_DOWN и KEY_UP, в них устанавливать и сбрасывать флаги нажатия нужных клавиш, в программе проверять эти флаги.
|
|
|||||
|
Регистрация: Sep 2009
Сообщений: 3
|
addEventListener(KeyboardEvent.KEY_DOWN, key_pressed); addEventListener(KeyboardEvent.KEY_UP, key_released); addEventListener(Event.ENTER_FRAME,func); private function key_pressed(e:KeyboardEvent):void { switch (e.keyCode) { case Keyboard.LEFT : isLeft = true; break; case Keyboard.RIGHT : isRight = true; } } // key_pressed() private function key_released(e:KeyboardEvent):void { switch (e.keyCode) { case Keyboard.LEFT : isLeft = false; break; case Keyboard.RIGHT : isRight = false; break; } } // key_released() function func(e:Event) { if(isLeft) obj.x--; } // func() Последний раз редактировалось KaBELSEA; 27.09.2009 в 17:05. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Напрямую нельзя. Да, изменять каждый раз. Если вам нужно опрашивать все клавиши, то можно завести просто массив флагов, тогда будет всего по одной строке кода в обработчиках нажатия и отпускания клавиш, а в программе проверять нажатие будете примерно так: if(array[Keyboard.RIGHT]) ..
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|