Javascript - requestAnimationFrame 帧速率

标签 javascript html html5-canvas

我有一个 Sprite 表动画,我使用 requestAnimationFrame 方法对 Sprite 表进行动画处理,其中只有 4 个图像,这是我的代码: http://hyque.com/ryan/ani-ryan-2.html 问题是 60 fps 太快了,所以我想减慢 fps。我已经阅读了几篇关于使用 setInterval 或 Date() 的不同方法的文章。我似乎无法让代码正常工作。任何人都可以帮忙吗? 这是我尝试合并到我的代码中的一篇文章: http://codetheory.in/controlling-the-frame-rate-with-requestanimationframe/

最佳答案

所以我喜欢用什么来控制“游戏循环”之外的动画。

var lastRender = 0;
var counter = 0;
function render(time)
{
    //checks to see if enough time has passed
    if(time - lastRender<16){requestAnimationFrame(render);return;}
    lastRender = time;
    counter++;
    if(counter %20 && counter != 0)
       animation();
    if(counter >= 60)
         counter=0;
    requestAnimationFrame(render);
}
requestAnimationFrame(render);

这使您可以更好地控制 Sprite ,因此您现在可以让它们以不同的速度运行,并且您的逻辑保持在 60fps。

关于Javascript - requestAnimationFrame 帧速率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40869434/

相关文章:

html - 使用 CSS Flexbox 堆叠图像

JavaScript 文本输入验证不起作用

c# - 为什么 ASP.NET 将 "�����"插入到输出 HTML 中?

javascript - 如何计算起点相同的两条线之间的 Angular ?

javascript - Html5节点图?

javascript - 在 HTML5 Canvas 中高效还原 RGB

javascript - Highcharts:在一个点上设置 'select' 状态并在鼠标悬停后保持它?

javascript - JQuery On Select 更改为变量赋值并重新加载脚本

javascript - 如果 `obj` 上的每个属性都相同则返回 true

Javascript:如何将两个对象合并为一个