弧形跳跃法?

时间:2010-11-18 04:12:01

标签: java

好的,所以我正在制作一个平台游戏,我想知道如何轻松地进行弧形跳跃。就像马里奥在超级马里奥兄弟中所做的那样1.有什么想法可以用一种简单的方法来实现这个目标吗?

2 个答案:

答案 0 :(得分:2)

模拟重力^^

你马里奥将有一个三角形来控制它在X上的移动,然后使它成为2D vect,它将包含一个Y组合,这个Y总是会有一个 - 重力加到垂直加速度上。

这样一来,当你的跳跃你将向前跳跃的力量+重力将逐渐将马里奥拖回来给你的弧线

答案 1 :(得分:0)

非常简单的伪代码:

if playerHitsGround or playerHitsBlockAbove:
   playerGravity = 0 // reset the gravity
endif

if jumpButtonHit and playerGravitiy == 0:
    playerGravity = -5 // set the "negative" gravity
endif

playerGravity += 0.1 // increase the gravity, so we fall back
playerPositionY += playerGravity // apply our "gravity" to the player

这就是你能得到的那么简单,而且很可能也是在NES时代使用的相同方法。这里的“弧”来自于这样一个事实:当“重力”被应用时,你也会前进。