如何在Flash游戏中添加斜坡?

时间:2012-11-05 01:05:21

标签: actionscript-3 flash

我是一个巨大的新手,这不是一个真正的编程问题,但在这里我说,我想制作一个涉及卷起坡道的游戏like this one:

向上移动,类似于它在旧的Sonic the Hedgehog游戏中的效果,我将如何做到这一点,在哪里可以找到一个很好的办法来学习这个?

1 个答案:

答案 0 :(得分:1)

当你向上移动坡道时,你会获得潜在的能量。实际上,你的动能变成了势能。

K = 0.5 * m * v^2

P = 0.5 * m * g * h

其中:

  • K是动能
  • P是潜在的能量
  • m是群众
  • v是速度
  • g是重力
  • h是身高

因为你是动画,最简单的方法是使用当前帧的瞬时速度来估计下一帧的位置。而且你不必整合方程式。

您需要的只是身高的变化。假设你从h0移动到h1 ......这会给你新的动能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速度分量。