剛開始做canvas的游戲, 對動畫幀數與速度的理解不太明白, 希望大家幫助下....以簡單的setInterval為例的動畫, 以設定的FPS進行重繪, 并進行update和drawvar run = function(){
update() {
x += speed
}
draw()}setInterval(run, FPS)這種情況下, 物體的移動速度其實和FPS也有關系, 因為每次interval就會計算x, (理論上是不是FPS不應該和物體的移動速度耦合在一起的? 因為幀數應該只負責刷新頻率, 而不是移動頻率). 如果物體需要2秒才移動一次的話, 那是不是要再加一個timer的計時器,update(){ timer++
if (FPS * timer > 1000 * 2) {
doUpdate() timer = 0
}
}怎么能消除對FPS值的依賴, 因為如果用requestAnimationFrame, 好像都不需要獲取FPS的值.還有玩游戲的時候, 調快速度好像更多的是物體的移動間隔更短, 而不是移動的單位更大, 按這個理解的話, speed這個變量的控制好像就不太對了, 因為speed更像是移動的單位, 而非時間間隔有人能解釋下么, 謝謝
canvas動畫幀數與速度的關系
翻閱古今
2018-08-10 10:09:40