在我的手机游戏中,主角需要跳到特定的y点,然后再开始由于重力而掉落。如何计算在给定重力下到达(峰值)给定y位置所需的y速度?
我尝试使用补间而不是街机物理来执行此操作,因为这正是我所需要的(距离随着时间的推移以重力的方式传播),但是性能并不好并且一直在溅射。
我当前正在使用Phaser 2.6.2。谢谢!
答案 0 :(得分:2)
游戏中有两种时间,基于周期的时间和deltaTime。
在基于周期的场景中,物理不会转移到滞后,因此最佳解决方案是:
从数字序列开始,在该序列中将重力与序列中的前一个数字复合,直到总和等于所需的高度。
例如,我将使用height = 75,gravity = 5和jumpForce = unknown
(5 + 10 + 15 + 20 + 25)= 75
您需要达到此高度的跳跃力将是序列中的最后一个数字,即“ 25”。
在deltaTime场景中(本例中使用的情况),物理被抽象化以尝试调整时间。
因此,如果您具有5fps,则将有5个周期/秒。如果您有20 fps,则每秒将有20个周期;因此,这种抽象使上面的内容不相关。
请改为使用高度=速度^ 2 / /(2 *重力)的标准重力公式,因为这将更好地模拟增量时间引擎使用的公式。