好的,所以我正在制作一个平台游戏,我想知道如何轻松地进行弧形跳跃。就像马里奥在超级马里奥兄弟中所做的那样1.有什么想法可以用一种简单的方法来实现这个目标吗?
答案 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时代使用的相同方法。这里的“弧”来自于这样一个事实:当“重力”被应用时,你也会前进。