Java 2d 游戏关键听众时间限制

标签 java key 2d

我正在尝试用 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/

相关文章:

c++ - 如何使用 OpenGL 绘制 2D 图像

java - 服务内的((按钮) View )不起作用

java - 如何正确使用 ProcessBuilder

php - 如何从值中获取对象 "key"?是否有类似 array_search 的对象?

grails:随机自动 ID

delphi - 在 Delphi 中使用 OpenGL 渲染到纹理

java - 如何为此类编写junit测试用例

java - 如何对 Java 哈希表进行排序?

hashmap - 将通用 'contain_keys' 方法添加到与 &[&str] 和 &[String] 一起使用的 HashMap

java - 将数组的String元素随机插入二维数组Java