Я написал небольшую программу с jlabel в ней, и как только я нажимаю с A / S / D, этикетка движется. Проблема в том, что когда я нажимаю и держу, например, W, метка перемещает только один пиксель, а затем продолжает двигаться, пока я снова не отпущу его. Есть ли способ деактивировать эту задержку?@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_W) oben = true;
if (e.getKeyCode() == KeyEvent.VK_S) unten = true;
if (e.getKeyCode() == KeyEvent.VK_A) links = true;
if (e.getKeyCode() == KeyEvent.VK_D) rechts = true;
updatePlayerPosition();}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_W) oben =false;
if (e.getKeyCode() == KeyEvent.VK_S) unten =false;
if (e.getKeyCode() == KeyEvent.VK_A) links =false;
if (e.getKeyCode() == KeyEvent.VK_D) rechts=false;
updatePlayerPosition();
}
public void updatePlayerPosition(){
int neueX = coordienaten_player_x;
int neueY = coordienaten_player_y;
if (oben) neueY -= 5;
if (unten) neueY += 5;
if (links) neueX -= 5;
if (rechts) neueX += 5;
// Teste die neue Position auf Kollision
player.setBounds(neueX, neueY, 50, 50);
Подробнее здесь: https://stackoverflow.com/questions/795 ... delay-java
Деактивировать KeyListener задержать Java [Duplicate] ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Java JList сообщает о неправильном индексе при использовании KeyListener
Anonymous » » в форуме JAVA - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-