计时器未按预期运行

时间:2021-01-27 20:16:03

标签: javascript timer

在我的坦克游戏中(与作为参考的很棒的坦克不同)我为我的子弹创建了一个计时器,但是在运行时它有一个运行时错误,说没有定义 AItimer。我很困惑,因为我有另一个计时器,它在同一个程序中但没有这个错误。

function aiStartTimer()
{
    if(shoot == 0)
    {
        //creates aitimer variable
        AItimer = setInterval("aiFireBullet()",100);
        shoot = 1*1;
    }
    else if(shoot == 1)
    {
        clearInterval(AItimer);
        shoot = 0 * 1;
    }
}

function StartTimer()
{
    if(onOff == 0)
    {
        //creates timer variable
        timer = setInterval("FireBullet()",100);
        onOff = 1*1;
    }
    else if(onOff == 1)
    {
        clearInterval(timer);
        onOff = 0 * 1;
    }

}

这是一个小提琴https://jsfiddle.net/tm9oL74r/

1 个答案:

答案 0 :(得分:0)

您必须在 setTimeout 的参数中传递函数定义,而不是字符串。 将 AItimer = setInterval("aiFireBullet()", 100); 替换为 AItimer = setInterval(aiFireBullet, 100);,它应该可以工作。