刚开始做canvas的游戏, 对动画帧数与速度的理解不太明白, 希望大家帮助下....
以简单的setInterval为例的动画, 以设定的FPS进行重绘, 并进行update和draw
var 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更像是移动的单位, 而非时间间隔
有人能解释下么, 谢谢
蛊毒传说
相关分类