我做了一个简单的游戏,我有问题 - 游戏结束后你开始新的游戏动画速度增加(因为我检查了另一个选项,我知道每秒的帧数量要高得多)。每次新游戏开始时速度动画速度都会急剧增加。那是因为使用了requestAnimationFrame吗?为什么会这样?
function Game() {
this.startGame();
}
_p = Game.prototype;
_p.startGame = function() {
//game functions
this.renderer.drawGame();
this.update();
this.handleCollisions();
this.stats.overheat--;
this.overheating();
this.handleClicks();
if(this.gameOver() == false){
requestAnimationFrame(this.startGame.bind(this));
//I tried do this in this way too:
//setTimeout(this.startGame.bind(this), 20)
}
};
_p.gameOver = function() {
if(this.stats.chances < 1){
var self = this;
this.renderer.endGameScreen();
soundManager.pauseAll();
document.addEventListener("click", function(){
self.stats.chances = 3;
self.stats.scores = 0;
self.stats.overheat = 0;
self.startGame();
soundManager.resumeAll();
});
} else {
return false;
}
};