移相器计算给定y点所需的y速度

时间:2018-10-30 18:53:23

标签: javascript phaser-framework

在我的手机游戏中,主角需要跳到特定的y点,然后再开始由于重力而掉落。如何计算在给定重力下到达(峰值)给定y位置所需的y速度?

我尝试使用补间而不是街机物理来执行此操作,因为这正是我所需要的(距离随着时间的推移以重力的方式传播),但是性能并不好并且一直在溅射。

我当前正在使用Phaser 2.6.2。谢谢!

1 个答案:

答案 0 :(得分:2)

游戏中有两种时间,基于周期的时间和deltaTime。

在基于周期的场景中,物理不会转移到滞后,因此最佳解决方案是:

从数字序列开始,在该序列中将重力与序列中的前一个数字复合,直到总和等于所需的高度。

例如,我将使用height = 75,gravity = 5和jumpForce = unknown

(5 + 10 + 15 + 20 + 25)= 75

您需要达到此高度的跳跃力将是序列中的最后一个数字,即“ 25”。

在deltaTime场景中(本例中使用的情况),物理被抽象化以尝试调整时间。

因此,如果您具有5fps,则将有5个周期/秒。如果您有20 fps,则每秒将有20个周期;因此,这种抽象使上面的内容不相关。

请改为使用高度=速度^ 2 / /(2 *重力)的标准重力公式,因为这将更好地模拟增量时间引擎使用的公式。