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

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - requestAnimationFrame如何控制幀速?

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

問題描述

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

問題解答

回答1:

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

但是requestAnimationFrame調(diào)用callback的時(shí)候會(huì)傳入一個(gè)時(shí)間戳參數(shù),可以根據(jù)這個(gè)參數(shù)來進(jìn)行判斷從而處理你實(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:

貌似不可控,瀏覽器自己計(jì)算的

回答3:

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 保康县| 拜城县| 昭苏县| 灵川县| 扎鲁特旗| 阳新县| 沁水县| 莫力| 沛县| 南充市| 阜新| 永修县| 拉萨市| 怀来县| 泌阳县| 祥云县| 萨嘎县| 信丰县| 南丰县| 望城县| 阳朔县| 武鸣县| 青浦区| 托克托县| 梅州市| 全南县| 凤翔县| 扬州市| 达日县| 阳谷县| 鄂托克前旗| 嵩明县| 修武县| 兴业县| 云阳县| 乌兰浩特市| 温州市| 奉化市| 泽普县| 会泽县| 南平市|