2

ゲームで単純なボール発射体をプログラミングしています。更新は次のようになります。

velocity += gravity;
velocity *=0.9;
pos += vel;

マウスで指定したポイントを打つために、発射の角度と威力を設定する方法はありますか? ペグルのように、http://youtu.be/4KbNiWsgJck?t= 45s

数年前に使用したソリューションがあることは知っていますが、見つかりません。私はそれが私の更新を二次式に変えたか、それか何かを導き出したと信じていました。二次方程式で解かれた 2 つの解がありました。

ps-うまくいけば、これは 3D になる可能性がありますが、曲線が 2D になるため、2D ソリューションも使用できます。

助けはありますか?ありがとう、ダン

4

1 に答える 1

1

はい、できます。角度と速度を変更できる場合は、必要以上に可変性があるため、機能する適切なパラメーターのセットを見つける必要がありますが、これは難しくありません。基本的な方程式は次のとおりです。

x = x 0 + t*v 0x
y = y 0 + v 0y t + (1/2)a y t 2

ここで、x と y は打ちたい点、t は打ち込んだ時間です。 tは最終的なソリューションには表示されませんが、必要な値を計算するために仲介として使用します。

基本的に、v 0xの妥当な値を選択します。x 式を使用して、ターゲットが命中したときのtを求めます。次に、この値を y 方程式に代入し、v 0yについて解きます。これにより、ターゲットにヒットするv 0xと v 0yの値のペアが得られます。

于 2013-01-07T16:26:44.177 に答える