我正在尝试用 Java 制作 2d Dungeon Crawlers 风格的游戏。我已将其设置为当按下 x 键时,骑士会攻击。我遇到的问题是,当我按 x 键时,骑士已设置为攻击,但它继续攻击,并且骑士能够继续杀死骷髅。我想知道是否有一种简单的方法可以在 500 毫秒后使按键超时。
代码
public Knight k = new Knight();
private class TAdapter extends KeyAdapter {
public void keyReleased(KeyEvent e) {
k.keyReleased(e);
}
public void keyPressed(KeyEvent e) {
k.keyPressed(e);
}
}
//Code in Knight
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if ((key == KeyEvent.VK_X)) {
Attacking = true;
}
}
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
if ((key == KeyEvent.VK_X)) {
Attacking = false;
}
}
最佳答案
您的代码编写为在按下按键时设置攻击,并在释放按键时禁用攻击。
除了这种实现之外,您还可以通过调用提供攻击功能的方法来编写攻击将在按键时启动,并在功能方法中实现您可以显式设置所有条件的所有逻辑。
您可以确保攻击将在按键释放时停止,就像您已经做的那样。
关于Java 2d 游戏关键听众时间限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21210962/