2010-11-18 9 views
2

さて、私はプラットフォーマーを作っています。私はどのようにして円弧飛びを簡単に作れるのか知りたいです。 Marioがスーパーマリオブラザーズでやっているように、これを達成するための簡単な方法に関するアイデア?円弧飛行方法?

答えて

2

重力をシミュレートします^^

あなたはマリオが、その後、X上での動きを制御するためのデルタを持っていること、このYは常に-gravityは、上下方向の加速度に追加されますYのcomponnentが含まれます2D vectを行います。

あなたのジャンプは、あなたが徐々にあなたの円弧を与えるダウンバックマリオをドラッグします転送跳躍力+重力を持っていますこのよう

+0

「重力をシミュレートする」と私は笑顔になりました。 –

+0

それは私も笑顔にしてくれる^^しかし、それはちょうど答えとして完璧に聞こえました:p –

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の時代に使用されたのと同じ方法である可能性が最も高い。ここでの「円弧」は、「重力」が適用されている間に前進するという事実から来ています。

関連する問題