我正在制作HTML5游戏卡片的塔台游戏。我有一个塔的AI的子程序。但是,由于某种原因,没有循环的这个函数调用会以无限循环结束。只有至少有两个塔时才会发生。为什么最终会导致Javascript中的无限循环?
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级的呼叫1” 和 “towerId = 1次调用2”,所以这个问题可能不是在aiLoop()。此外,我用一个正则表达式来搜索我的代码aiTower()。这是唯一的两次发生。
我想我们也需要'.shoot'和'zamerajCiel'的代码。只是一个建议:使用'console.log('msg你想看'''),如果你使用萤火虫它将是一个伟大的记录工具。 https://getfirebug.com/logging – p1100i