我正在为 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()。这是仅有的两次出现。