-2

我是一个大新手,这并不是一个真正的编程问题,但我说,我想制作一款涉及像这样卷起坡道的游戏:

向上移动,类似于它在旧的 Sonic the Hedgehog 游戏中的工作方式或其他东西,我将如何去做,我在哪里可以找到一个好的资源来学习这个?

4

1 回答 1

1

当你上坡时,你会获得势能。实际上,你的动能变成了势能。

K = 0.5 * m * v^2

P = 0.5 * m * g * h

在哪里:

  • K是动能
  • P是势能
  • m是质量
  • v是速度
  • g是重力
  • h是高度

因为你在做动画,最简单的就是用当前帧的瞬时速度来估计下一帧的位置。你避免了积分方程。

你所需要的只是高度的变化。假设您从 移动h0h1... 这为您提供了新的动能K1,这意味着您的速度会降低:

K1 = 0.5 * m * v^2 - (h1-h0) * m * g

并获得新的速度v1

0.5 * m * v1^2 = K1

               = 0.5 * m * v^2 - (h1-h0) * m * g

0.5 * m * (v1^2 - v^2) = -(h1-h0) * m * g

v1 = sqrt( v^2 - (h1 - h0) * g )

然后你找出你的新位置,把它夹在坡道上,然后在那个位置找到坡道法线。您使用它来调整您的方向单位向量并将该向量乘以新速度以获得新xyz速度分量。

于 2012-11-05T01:23:08.720 回答