睡眠,循环,或者Javascript中的内容
Sleep, Loop, or What in Javascript?
我有一个游戏循环,基本上是这样的:function game(){init();setInterval(draw, 30);}
但是当玩家获胜时,我想调用Win()
清除间隔并重新启动。在javascript中解决这个问题的最佳方法是什么?由于setInterval()
是异步的,我此时已经退出game()
了。那么我是否要添加一个繁忙循环:function game(){while(1){init();setInterval(draw, 30);while(!Win);}}
?目前没有好办法sleep()
吗?有没有办法在不制作任意大小的调用堆栈的情况下调用Win()
内部的game()
?处理这种情况的最佳方法是什么?
您可以使用命名间隔:
var time;
function game(){
init();
time = setInterval(function (){
draw();
}, 30);
}
win(){
if(time){
clearInterval(time); // clear the interval
game(); // start the game again.
}
}
现在,每当用户获胜并开始游戏时,您都必须调用此win函数。
相关文章:
- Javascript循环不会自我更新
- JavaScript循环无法正确计算/显示结果
- JavaScript循环并等待函数
- Javascript:循环属性内部的条件递增或递减
- Array方法中的Javascript循环
- 用于使用javascript循环选择选项
- 中断javascript循环
- 如何在javascript循环中打印代码
- jQuery.ajax()访问javascript循环中的beforeEnd局部变量
- 在qualtrics上使用javascript:循环块中的问题id
- GoogleMapsV3api只显示Javascript循环中的一些标记
- Javascript循环限制为仅1
- 如何将jQueryeach()转换为常规的javascript循环
- 有没有javascript循环的替代方案
- GraphQL代码中的Javascript循环依赖关系
- Javascript循环文本
- JavaScript循环中的HTML
- ..的Javascript..循环中的对象没有在最后一个属性上运行
- JavaScript循环迭代太多
- Javascript循环计算