我是stackoverflow的老读者,但是新成员,这是我的第一个问题:)我试图用HTML5画布编写游戏。但是setInterval并没有在while循环中启动。我的代码:
var text = "Message";
var exit = 0;
while(exit==0)
{
drawLifeBar(100);
var balls = new Array();
var startInterval = setInterval(function() { intervalLoop(balls);},50);
text += "\nYour level: " + level;
alert(text);
}
我有很多警告框(循环工作),但无法进入setInterval。并且当取消while循环时setInterval有效。在这个while循环中出了什么问题?
PS:这是一个简单的落球游戏。球落下,如果你抓住,那么你就升级了。如果没有,游戏结束。没有while循环它工作正常。使用while循环,我试图这样做:如果你抓到足够的球,那么等级++,closeinterval并重启游戏(setInterval)。如果游戏结束,则退出= true,closeinterval并结束游戏。答案 0 :(得分:0)
function funcName() {
alert("test");
}
var func = funcName();
var run = setInterval("func",10000)
答案 1 :(得分:0)
var exit = false;
function intervalLoop(balls) {
if(exit === true) clearInterval('startInterval');
}
答案 2 :(得分:0)
我对你的意图做了一些猜测。
我将你的函数命名为nextLevel
,因为它确实是这样......我让它开始intervalLoop
- 在这种情况下,它真的不需要设置间隔。
intervalLoop
完成任务后,应致电nextLevel
前进。
在最底部,我致电nextLevel
以启动整个过程。
var text = "Message";
var exit = 0;
function nextLevel() {
drawLifeBar(100);
var balls = new Array();
var startInterval = setInterval(function() { intervalLoop(balls);},50);
text += "\nYour level: " + level;
alert(text);
}
// Missing from the code, so making something up
function intervalLoop(balls) {
// Do something! The user one, restart the main loop
// User won! Give him the next level
nextLevel();
}
// And start the whole process here
nextLevel();