![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2011
Адрес: где-то на планете земля
Сообщений: 23
|
Реализовал нажатие клавиш вот таким способом:
public var pressedKeys:Object = { }; //массив клавиш stage.addEventListener(KeyboardEvent.KEY_DOWN, key_down); stage.addEventListener(KeyboardEvent.KEY_UP, key_up); public function key_press() // вызываю событие в каждом кадре { ... if (pressedKeys[32]) // пример обработки действия по нажатию { ... } if (pressedKeys[192]) // и т.д. ифы используемых клавиш { ... } ... } function key_down(e:KeyboardEvent) { if( pressedKeys[ e.keyCode ] ) return; pressedKeys[ e.keyCode ] = 1; } function key_up( e:KeyboardEvent ) { delete pressedKeys[ e.keyCode ]; } 2 - Как узнать какие клавиши нажаты в данный момент - как вынуть список из pressedKeys?
__________________
CS5, AS3.0 Последний раз редактировалось lolsuicide; 19.07.2011 в 17:59. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
1. Поменять клавиатуру. Проблема аппаратная. Большинство клавиатур не умеет обрабатывать нажатие большого количества клавиш одновременно. И количество клавиш может зависеть от нажатых комбинаций (т.е. какие-то 5 клавиш одновременно нажимаются, а другие 5 - уже нет). Можно попробовать "геймерские" модели. Какие-то старые позволяли относительно большое количество одновременно нажатых клавиш (вроде бы могли быть любые 4). Сейчас не знаю.
2. Никак. В силу проблемы из предыдущего пункта. |
|
|||||
|
Регистрация: Jul 2011
Адрес: где-то на планете земля
Сообщений: 23
|
ок, если предположить что 1 проблема решена, как определить, какие из pressedKeys - true?
__________________
CS5, AS3.0 |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|