Wie steuert requestAnimationFrame die Bildrate?
仅有的幸福
仅有的幸福 2017-05-16 13:44:28
0
3
693

Ich möchte die Animation auf Sprite zeichnen und zu einem Bild verbinden. Ich habe versucht, die Animation zu implementieren, und habe festgestellt, dass requestAnimationFrame die Bildrate nicht steuern kann Was soll ich tun, wenn ich 7 Bilder in 1 Sekunde zeichnen möchte?

仅有的幸福
仅有的幸福

Antworte allen(3)
过去多啦不再A梦

requestAnimationFrame就是在浏览器下一帧渲染时调用的,所以可以认为requestAnimationFrame的调用速率就是浏览器的刷新速率,一般来说是60帧

但是requestAnimationFrame调用callback的时候会传入一个时间戳参数,可以根据这个参数来进行判断从而处理你实际需要的帧速

比如要1秒7帧的话可以这样写

let step = (timestamp, elapsed) => {
    if (elapsed > 1000 / 7) {
        //TO DO SOMETHING
        elapsed = 0
    }
    
    window.requestAnimationFrame(
        _timestamp => step(_timestamp, elapsed + _timestamp - timestamp)
    )
}
window.requestAnimationFrame(timestamp => step(timestamp, 0))
Ty80

貌似不可控,浏览器自己计算的

迷茫

1s7帧这种刷新速率...本来就是"跳帧"的效果...

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!