-2

私は非常に初心者であり、これは実際にはプログラミングの質問ではありませんが、ここで、次のようなランプをロールアップするゲームを作成したいとします。

古いソニック・ザ・ヘッジホッグのゲームか何かで機能するのと同じように、上に移動するにはどうすればよいですか、これを学ぶための良い手段をどこで見つけることができますか?

4

1 に答える 1

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速度コンポーネントを取得します。

于 2012-11-05T01:23:08.720 に答える