请求动画帧Javascript游戏计时器
以下工作:请求动画帧Javascript游戏计时器,javascript,timer,Javascript,Timer,以下工作: window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || funct
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback){ window.setTimeout(callback, 1000 / 60); };
})();
function gameLoop() {
requestAnimFrame(gameLoop);
}
但是,当我尝试使用模块模式打包功能时,如下所示:
var GameModule = {
requestAnimFrame: function() {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback){ window.setTimeout(callback, 1000 / 60); };
},
gameLoop: function() {
this.requestAnimFrame(this.gameLoop);
}
};
// run the game
(function(){
Game.gameLoop();
})();
…它只调用requestAnimFrame一次。我已经在它上面混了很长时间了,似乎想不出一种让它递归运行的方法。修复:
this.requestAnimFrame(this.gameLoop());