我是一个大新手,这并不是一个真正的编程问题,但我说,我想制作一款涉及像这样卷起坡道的游戏:
向上移动,类似于它在旧的 Sonic the Hedgehog 游戏中的工作方式或其他东西,我将如何去做,我在哪里可以找到一个好的资源来学习这个?
我是一个大新手,这并不是一个真正的编程问题,但我说,我想制作一款涉及像这样卷起坡道的游戏:
向上移动,类似于它在旧的 Sonic the Hedgehog 游戏中的工作方式或其他东西,我将如何去做,我在哪里可以找到一个好的资源来学习这个?
当你上坡时,你会获得势能。实际上,你的动能变成了势能。
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
速度分量。