为什么这些功能执行两次?

时间:2019-05-25 10:48:09

标签: java

我正在制作移动脚本,但是我的部分代码在等待计时器归零之前执行两次。

我尝试更新变量,但是脚本仍然最终执行了两次

public void tick() {
        if (KeyManager.pressed[KeyEvent.VK_D] && timeOut < 1) {
            gridX++;
            timeOut = 10;
            System.out.println("right");
        }
        if (KeyManager.pressed[KeyEvent.VK_A] && timeOut < 1) {
            gridX--;
            timeOut = 10;
            System.out.println("left");
        }
        if (KeyManager.pressed[KeyEvent.VK_W] && timeOut < 1) {
            gridY--;
            timeOut = 10;
            System.out.println("up");
        }
        if (KeyManager.pressed[KeyEvent.VK_S] && timeOut < 1) {
            gridY++;
            timeOut = 10;
            System.out.println("down");
        }
        if (timeOut > 0) {
            timeOut--;
        }
    }

当我按D时,代码输出两次“正确”,然后代码等待十个滴答,然后重复整个过程, 但我希望输出只是一次“正确”。

编辑: 由于某些未知的原因,我有两个此类的实例。 T.J. Crowder非常感谢您暗示这是有可能的。

0 个答案:

没有答案