我正在制作移动脚本,但是我的部分代码在等待计时器归零之前执行两次。
我尝试更新变量,但是脚本仍然最终执行了两次
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非常感谢您暗示这是有可能的。