1

私は射手ゲームを設計しています。矢が的に当たって止まる。私が達成しようとしているのは、ビュー上でターゲットと矢印が交わる場所を予測/取得する式を定義することです。

この問題は、矢の速度が初速度によって変化し、矢にも角度がある場合に発生します。さらに、画面上の画像はx - bitmapt.getWidth/2(高さ、h / 2..と同じ)で配置されます

矢印の動きが速すぎる場合は、誤差を計算する必要があります。これにより、矢印がターゲットと同じ x と y にあるはずであっても、矢印はX + speedピクセルとして移動します。ということでこんな感じになりました!

if(arrow[i].getX() + v0x[i] / 2 >= target.getTarget().getX() && arrow[i].getX() <= target.getTarget().getX() + v0x[i] / 2)

x/2 の速度を使用してエラー マージンを指定します。

arrowX + velocity/2 >= collision point >= targetX + velocity/2

しかし、うまくいきません。

4

1 に答える 1

1

これは純粋な数学の問題であり、衝突検出に関しては多くの文献があります。ライブラリを使用することをお勧めします。2D の場合はJBox2Dをお勧めします。これは物理エンジンです (Angry Birds などで使用されます)。衝突検出などを取得できます:)

于 2012-11-17T23:00:08.683 に答える