我是一个巨大的新手,这不是一个真正的编程问题,但在这里我说,我想制作一个涉及卷起坡道的游戏like this one:
向上移动,类似于它在旧的Sonic the Hedgehog游戏中的效果,我将如何做到这一点,在哪里可以找到一个很好的办法来学习这个?
答案 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 )
然后计算出你的新位置,将其夹在斜坡上,找到该位置的斜坡法线。您可以使用它来调整方向单位矢量,并将该矢量乘以新的速度,以获得新的x
,y
和z
速度分量。