我已经盯着我的代码很久了,但我似乎不明白发生了什么。每当游戏结束时,我都会执行 cancelAnimationFrame 来停止游戏。然后我再次启动菜单。
现在的问题是,当我再次调用 requestAnimationFrame 时,代码似乎调用了它两次(游戏运行速度加倍)。
以下是我的代码:
这是启动:
var areaJogo = {
beginGame: function(type) {
//...
this.myReq = requestAnimationFrame(updateArea);
//...
}
}
这是主要功能(用于动画):
function updateArea(){
areaJogo.myReq=requestAnimationFrame(updateArea);
//....
if(/*conditionLoseGame*/) {
stop();
}
}
function stop() {
cancelAnimationFrame(areaJogo.myReq);
areaJogo.myReq=undefined;
}
请注意,这些是代码中唯一使用 requestAnimationFrame 和 cancelAnimationFrame 的时间。谢谢!