我正在尝试制作两个可以在所有4个方向(上,下,右,左)上移动的对象。第一个对象应使用W,S,D,A进行控制-而第二个对象应通过UP,DOWN,RIGHT,LEFT箭头进行控制,并且可以正常工作。
但是,我希望它们在释放按钮后停止(这意味着它们只能在用户按住其中一些按钮的情况下才能移动),但我无法获得想要的东西。由于我的KeyPressed()方法有效,因此我只放置KeyReleased的代码。
我使用了CTRL + SHIF + F,所以现在不是最佳顺序,但是我希望它可读。正如我在主题中提到的那样,我正在使用Java。
public void keyRealsed(KeyEvent e)
{
int key = e.getKeyCode();
for (int i = 0; i < handler.object.size(); i++)
{
GameObject tempObject = handler.object.get(i);
if (tempObject.getId() == ID.Player)
{
if (key == KeyEvent.VK_W)
tempObject.setVelY(0);
else if (key == KeyEvent.VK_S)
tempObject.setVelY(0);
else if (key == KeyEvent.VK_D)
tempObject.setVelX(0);
else if (key == KeyEvent.VK_A)
tempObject.setVelX(0);
}
if (tempObject.getId() == ID.Player2)
{
if (key == KeyEvent.VK_UP)
tempObject.setVelY(0);
else if (key == KeyEvent.VK_DOWN)
tempObject.setVelY(0);
else if (key == KeyEvent.VK_RIGHT)
tempObject.setVelX(0);
else if (key == KeyEvent.VK_LEFT)
tempObject.setVelX(0);
}
}
}
}
最佳答案
正如乔丹·西诺(Jordan Seanor)所说,将名称更改为keyReleased
只是您拼写错误。这应该工作。