我有一个使用 requestAnimationFrame() 的 animate() 循环的“简单”游戏:
function animate(currentTime) {
if(playGame) {
requestAnimationFrame( animate );
}
if(isCollide) {
endTime = currentTime + 5000;
drawCollision(currentTime);
}
}
我想运行 drawCollision() 代码 5 秒,所以我做了这样的事情:
function drawCollision(currentTime) {
if(playCollide) {
requestAnimationFrame( drawCollision );
}
if(currentTime < endTime) {
drawImage(image, x, y, height, width, rotation);
} else {
playCollide = false;
}
}
但是,两个 rAF 调用似乎同时运行?或者,在运行 drawCollision 时至少执行调用 drawCollision() 之后的代码。