-1

我开发了一个游戏,您可以在其中扮演大炮并仅发射弹药,我计划将其制作为简单的物理模拟。不过,有一个问题。我尝试实现一个冷却功能,让玩家每秒只能发射一颗子弹,但有时(如果该人按住开火按钮)它会同时发射 2,3 或 4 颗子弹,然后休息1 秒钟。大多数时候它只发射一颗子弹,但可能有 30% 的时间它会同时发射一连串子弹。我不想要这个。

我希望它只发射一颗子弹,休息,然后重新发射。这是我的代码:

对于 Keydown 事件处理程序:

else if( e.keyCode == 38  && CanFire) { //UP
            CanFire = false;            
            var bullet = new Bullet( Cannon.xpos, Cannon.ypos, 30, Cannon.angle );
            Bullets.push(bullet);               
            window.setInterval(Reload, 1000);

        }

重载功能:

function Reload() {
        CanFire = true;
        window.clearInterval(Reload);
    }

全局变量:

var CanFire = true;
4

1 回答 1

2

clearInterval()接受,而intervalId不是函数名。

于 2013-06-28T22:50:53.360 回答