0

我正在为 HTML5 中的游戏果酱制作塔楼游戏。我有一个用于塔楼 AI 的子程序。但是,由于某种原因,这个没有循环的函数调用最终会陷入无限循环。只有当至少有两个塔时才会发生这种情况。

function aiTower(id){
    if(id === 1)alert("towerId = 1 call 1");
    var l = zamerajCiel(id);
    if (l !==  null) towers[id].shoot(l.x,l.y);
    if(id === 1)alert("towerId = 1 call 2");
};

调用它的循环:

function aiLoop(){
    for(i=0;i<enemies.length;i++){
        aiMon(i);
    }
    for(i=0;i<towers.length;i++){
        aiTower(i);
            if(i === 1)alert("towerId = 1 call 3");
    }
}

调试消息交替出现“towerId = 1 call 1”和“towerId = 1 call 2”,因此问题可能不在 aiLoop() 中。另外,我使用了一个正则表达式在我的代码中搜索 aiTower()。这是仅有的两次出现。

4

1 回答 1

2

i通过提供本地化var i功能。您很可能在其他地方对其进行了修改。

于 2012-11-10T20:37:42.160 回答