Я программирую игру в обработке, но у меня возникает следующая проблема: Когда я нажимаю клавишу со стрелкой влево, символ перемещается влево. Но если я удерживаю клавишу нажатой, а затем нажимаю клавишу (стрелка вверх), нажимая клавишу со стрелкой влево, когда персонаж прибывает на землю, он останавливает движение. Это происходит потому, что как-то обработка перестает получать нажатую клавишу после нажатия другой. Есть все равно, чтобы это исправить?Обработка - Получение ключей
ответ
Существует keyTyped(), но я никогда не заставляю его работать, как описано в ссылке ... Вы можете попробовать его ... KeyPressed() вызывается один раз, когда нажата клавиша, но не на время все еще нажата. Обычный способ сделать это состоит в использовании булевы вызываются из обоих, Keypressed() и keyReleased(), чтобы следить за состояниями, вам нужно, например:
[EDIT2] код адаптированный:
boolean[]keys = new boolean[5];
final int A = 0;
final int W = 1;
final int S = 2;
final int D = 3;
final int R = 4;
char keyP;
PVector p;
void setup(){
size(400,400);
p = new PVector (width/2, height/2);
}
void draw(){
background(255);
ellipse (p.x, p.y, 10, 10);
if(keys[A]){
p.x--;
}
if(keys[W]){
p.y--;
}
if(keys[S]){
p.x++;
}
if(keys[D]){
p.y++;
}
if(keys[R]){
println("what should I do?");
}
}
void keyPressed() {
keyP = key;
switch(keyP) {
case 'A':
case 'a':
keys[A] = true;
//println("a pressionado");
break;
case 'W':
case 'w':
keys[W] = true;
//println("w pressionado");
break;
case 'S':
case 's':
keys[S] = true;
//println("s pressionado");
break;
case 'D':
case 'd':
keys[D] = true;
//println("d pressionado");
break;
case 'R':
case 'r':
keys[R] = true;
//println("r pressionado");
break;
}
}
void keyReleased(){
keyP = key;
switch(keyP){
case 'A':
case 'a':
keys[A] = false;
//println("a solto");
break;
case 'W':
case 'w':
keys[W] = false;
//println("w solto");
break;
case 'S':
case 's':
keys[S] = false;
//println("s solto");
break;
case 'D':
case 'd':
keys[D] = false;
//println("d solto");
break;
case 'R':
case 'r':
keys[R] = false;
//println("r solto");
break;
}
}
Привет :) Прежде всего, спасибо за ответ, но он не сработал, я попытался использовать это, но заменил if для случая. И ничего не изменилось:/ Вот код: http://pastebin.com/5dtXTQwQ –
Привет, код не компилировался, он не конкурирует, но я обновил код выше с вашей адаптацией, и он работает здесь ... Может быть, я не понимаю, в чем твоя проблема ... –
Это сработало отлично :). И да, мой код был незавершенным; Настоящая проблема заключалась в следующем: После того, как я выполнил действие, я написал Key [NameKey] = false, поэтому я был как «двойная фальсификация», потому что KeyRelesead делал это для меня. Спасибо: D –
- 1. Обработка внешних ключей в asp.net
- 2. Asp.net Обработка дубликатов ключей исключение
- 3. Обработка столкновений ключей в Hashmap
- 4. Получение ключей карты STL
- 5. Получение ассоциативных ключей массива
- 6. Получение ключей из Multiindex?
- 7. Получение вложенных ключей JSON
- 8. Получение справки из ключей()
- 9. Получение ключей и значений от JSON
- 10. Получение списка ключей от redis?
- 11. Получение ключей от кеша JCS
- 12. Rgd: Получение массива ключей PHP
- 13. Получение атрибутов объектов связки ключей
- 14. Получение заказанных ключей из OrderDictionary
- 15. Получение ключей JSON Array (имена)
- 16. Получение списка ассоциативных ключей массива
- 17. JQ: Получение двух уровней ключей
- 18. Получение внешних ключей в mysql
- 19. Получение значения из указанных ключей
- 20. Получение значения всех ключей - PHP
- 21. Получение ключей/значения из JSON
- 22. Java- Обработка Json массива на основе ключей
- 23. Обработка константность остроконечных значений ключей карты
- 24. iPhone и обработка безопасной доставки ключей
- 25. Обработка дубликатов ключей в базе данных wordpress
- 26. Обработка нескольких ключей в многопользовательской игре
- 27. Обработка базы данных Перекрестные внешних ключей
- 28. Обработка дубликатов ключей в дереве AVL
- 29. SQL SERVER, Обработка составных первичных ключей
- 30. Обработка отсутствующих ключей NSUserDefault после обновлений приложений
Язык? ... Платформа? ... и т. Д. ... –
Обработка - это язык, по его словам. –