国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - requestAnimationFrame如何控制幀速?

瀏覽:157日期:2022-12-11 15:11:44

問題描述

想在canvas里實現(xiàn)動畫,動畫是每幀都畫在Sprite上連成一張圖的,試過用setTimeout實現(xiàn)動畫,發(fā)現(xiàn)會跳幀,但是requestAnimationFrame無法控制幀速,我希望1s畫7幀該怎么辦?

問題解答

回答1:

requestAnimationFrame就是在瀏覽器下一幀渲染時調(diào)用的,所以可以認為requestAnimationFrame的調(diào)用速率就是瀏覽器的刷新速率,一般來說是60幀

但是requestAnimationFrame調(diào)用callback的時候會傳入一個時間戳參數(shù),可以根據(jù)這個參數(shù)來進行判斷從而處理你實際需要的幀速

比如要1秒7幀的話可以這樣寫

let step = (timestamp, elapsed) => { if (elapsed > 1000 / 7) {//TO DO SOMETHINGelapsed = 0 }window.requestAnimationFrame(_timestamp => step(_timestamp, elapsed + _timestamp - timestamp) )}window.requestAnimationFrame(timestamp => step(timestamp, 0))回答2:

貌似不可控,瀏覽器自己計算的

回答3:

1s7幀這種刷新速率...本來就是'跳幀'的效果...

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 彭阳县| 白朗县| 察隅县| 娱乐| 潞城市| 渭南市| 浦东新区| 蒙山县| 乌拉特中旗| 花莲县| 芷江| 嫩江县| 平定县| 庆阳市| 贵溪市| 嵩明县| 新乡县| 怀化市| 无极县| 北安市| 孙吴县| 高平市| 都安| 兴安盟| 大荔县| 岳阳县| 乐平市| 金堂县| 蕲春县| 衡阳县| 繁昌县| 萝北县| 景谷| 浏阳市| 阜城县| 潮州市| 柞水县| 漯河市| 台北县| 余干县| 仪陇县|