【发布时间】:2019-08-08 11:36:04
【问题描述】:
我正在尝试制作一个基于 HTML5 画布的游戏,其中涉及与帧速率无关的运动(对象以相同的速率移动,与 FPS 无关)。
我知道如何在以恒定速率移动的对象上实现与帧速率无关的运动。然而,在我的新游戏中,物体不会以恒定的速度移动 - 它们会加速。
我想让一个物体以每秒一个像素的速度加速,这样在每一秒结束的时候,物体都会在某个位置,不管FPS如何,如下图(从position = 0开始,速度 = 0:
Second 1: position: 1, velocity: 1
Second 2: position: 3, velocity: 2
Second 3: position: 6, velocity: 3
Second 4: position: 10, velocity: 4
...
除非我弄错了,这种情况可以用position += velocity += acceleration (1)之类的公式重现。
如何实现与帧速率无关?
【问题讨论】:
-
您是否要求一个将位置作为时间函数的公式?
-
理想情况下,是的。它应该考虑每秒需要更新的次数 (FPS),以及每秒的加速度(在这种情况下,在任何方向上都是 1)。
标签: timestamp physics frame-rate frames acceleration