剛開始做canvas的游戲, 對動(dòng)畫幀數(shù)與速度的理解不太明白, 希望大家?guī)椭?...以簡單的setInterval為例的動(dòng)畫, 以設(shè)定的FPS進(jìn)行重繪, 并進(jìn)行update和drawvar run = function(){
update() {
x += speed
}
draw()}setInterval(run, FPS)這種情況下, 物體的移動(dòng)速度其實(shí)和FPS也有關(guān)系, 因?yàn)槊看蝘nterval就會(huì)計(jì)算x, (理論上是不是FPS不應(yīng)該和物體的移動(dòng)速度耦合在一起的? 因?yàn)閹瑪?shù)應(yīng)該只負(fù)責(zé)刷新頻率, 而不是移動(dòng)頻率). 如果物體需要2秒才移動(dòng)一次的話, 那是不是要再加一個(gè)timer的計(jì)時(shí)器,update(){ timer++
if (FPS * timer > 1000 * 2) {
doUpdate() timer = 0
}
}怎么能消除對FPS值的依賴, 因?yàn)槿绻胷equestAnimationFrame, 好像都不需要獲取FPS的值.還有玩游戲的時(shí)候, 調(diào)快速度好像更多的是物體的移動(dòng)間隔更短, 而不是移動(dòng)的單位更大, 按這個(gè)理解的話, speed這個(gè)變量的控制好像就不太對了, 因?yàn)閟peed更像是移動(dòng)的單位, 而非時(shí)間間隔有人能解釋下么, 謝謝
canvas動(dòng)畫幀數(shù)與速度的關(guān)系
翻閱古今
2018-08-10 10:09:40
