keylistener Java:每次只识别一次按键
我正在用Java制作一个游戏,我希望能够走到NPC面前,按空格键与他们交谈。然而,我现在的键盘课程是针对移动键(wasd和上下左右)的,它总是识别按键以保持玩家移动。我该如何设置它,使空格键只在按下后才能被识别,直到玩家松开并再次按下它才能被识别
public class Keyboard implements KeyListener
{
private boolean[] keys = new boolean[120];
public boolean up, down, left, right, interact;
public void update()
{
up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W];
down = keys[KeyEvent.VK_DOWN] || keys[KeyEvent.VK_S];
left = keys[KeyEvent.VK_LEFT] || keys[KeyEvent.VK_A];
right = keys[KeyEvent.VK_RIGHT] || keys[KeyEvent.VK_D];
interact = keys[KeyEvent.VK_SPACE];
}
public void keyPressed(KeyEvent e)
{
keys[e.getKeyCode()] = true;
}
public void keyReleased(KeyEvent e)
{
keys[e.getKeyCode()] = false;
}
}
# 1 楼答案