【发布时间】:2015-07-22 19:19:46
【问题描述】:
我正在用 java 编写一个游戏,在同一个键盘上有两个玩家。如果其中一个玩家按住他们的前进按钮,而第二个玩家按下他的前进按钮,那么第一个玩家就会停止。这种情况反过来也发生了,我不知道如何解决它。
addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
paddle.keyPressed(e);
paddletwo.keyPressed(e);
}
@Override
public void keyReleased(KeyEvent e) {
paddle.keyReleased(e);
paddletwo.keyReleased(e);
}
在每个桨类我也有这个:
public void keyReleased (KeyEvent e) {
ya = 0;
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP)
ya = -pong.speed;
if(e.getKeyCode() == KeyEvent.VK_DOWN)
ya = pong.speed;
}
玩家二使用 VK_W 和 VK_S 而不是 UP 和 DOWN。
【问题讨论】:
-
检查哪个键被释放并使用键绑定 API 代替
-
不检查释放了哪个键,如果释放了任何键,您将停止..
-
试试this。
标签: java awt keylistener keyevent