-1

好的,所以我刚刚完成了一个简单的基于瓷砖的物理引擎,我现在正在调整的一件事是角色的适当速度、加速度、重力等。

现在,我很难确定跳跃的整体高度(高潮)之间的关系Gravity和影响。JumpSpeed这是我所拥有的伪代码:

physics loop:
{

    calculate new X position based on DeltaTime
    calculate new y position based on DeltaTime

    if holding space and standing on block then
    {
        increase vertical velocity by JumpSpeed
    {

    decrease vertical velocity by Gravity * DeltaTime
}

好吧,现在说:

Gravity = 40
JumpSpeed = 10

如何预测跳跃的最大高度?

4

1 回答 1

2

您的解决方案 y max =sqrt(Gravity/JumpSpeed) 看起来不正确。这意味着强大的重力应该会增加跳跃的高度,而高的初始速度应该会降低跳跃的高度。等式右边的单位是 1/sqrt(time),作为高度没有意义。通过维度分析,答案必须是 y max =k*JumpSpeed 2 /Gravity 的形式。

根据物理学,答案是

y max = JumpSpeed 2 /(2*Gravity)

但在你的模拟中,它将是

y max =JumpSpeed 2 /(2*Gravity) + JumpSpeed*DeltaTime/2

于 2013-11-09T00:16:21.067 回答