这可能是一个愚蠢的/以前回答过的问题,但它一直困扰着我和我的朋友一段时间,我一直无法找到一个好的答案。
现在,我让我所有的 JS Canvas 游戏都在滴答声中运行。例如:
function tick(){
//calculate character position
//clear canvas
//draw sprites to canvas
if(gameOn == true)
t = setTimeout(tick(), timeout)
}
这适用于高端系统上的 CPU 低级游戏,但是当我尝试在每个刻度上多画一点时,它开始以慢动作运行。所以我的问题是,如何在允许可变帧速率的同时保持 x、y 位置和命中检测计算全速进行?
旁注:我曾尝试使用 requestAnimationFrame API,但老实说,它有点令人困惑(不是所有关于它的好教程),虽然它可能会加快您的处理速度,但它并不能完全解决问题。
谢谢大家 - 任何帮助表示赞赏。