... он возвращает только ключ, который при нажатии наиболее последнее время, и это не говорит, если какой-либо другой ключ может быть нажата
, как вы использовать его в свой код, keyboard_key
будет всегда содержат только тот ключ, который нажат в последнее время - просто потому, что у него «нет места», чтобы удерживать что-то большее.
Рассмотрите возможность использования Vector для «запоминания» различных нажатых клавиш.
//define in your class:
Vector keysPressed = new Vector(); // to keep track of keys pressed
//overrides the function keyPressed from "lcdui.Canvas"
protected void keyPressed(int keyCode){
keysPressed.addElement(new Integer(keyCode));
}
Примечание стороны данный вопрос, вы можете воспользоваться изучать основы языка Java. Есть много обучающих программ, доступных в Интернете - просто найдите в Интернете что-то вроде «Начало работы с Java».
В зависимости от ваших требований приложения рассмотрите возможность переопределения keyRepeated вместе с keyPressed.
Если вы намерены обрабатывать нажатия клавиш в моде игра петли («несколько ключей сразу» предположить, что вы, возможно, иметь это в виду), рассмотрим другой вариант предоставленный lcdui.game.GameCanvas
API, метод getKeyStates():
Получает состояние физических ключей игры. Каждый бит в возвращаемом целое представляет собой определенный ключ на устройстве. Бит ключа будет равен 1, если клавиша в данный момент нажата или была нажата хотя бы один раз с момента последнего вызова этого метода. Бит будет равен 0, если в настоящий момент клавиша находится вверх и не была нажата вообще с момента последнего вызова этого метода. Это блокировочное поведение гарантирует, что быстрый и пресс-релиз ключа всегда будут пойманное игровым циклом, независимо от того, как медленно проходит цикл ...
[Важные ограничения и недостатки: большинство телефонов не поддерживают несколько одновременных нажатий клавиш.] (Http://www.gamedev.net/page/resources/_/technical/mobile-development/an-introduction-to-developing -for-mobile-device-r1949) –
Статья @JarrodRoberson, на которую вы ссылаетесь, ничего не говорит о соответствующем API ('GameCanvas.getKeyStates'). Он датирован июнем 2003 года - около 10 лет назад и только примерно через полгода после того, как MIDP 2 ([JSR 118] (http://www.jcp.org/en/jsr/detail?id=118)) завершена - когда он даже не приближался к мейнстриму. В то время игровые функции в телефонах MIDP (1.0, JSR 37) действительно засасывались, но это было давно. – gnat