1

ヒットボックスに長方形を使用するレーザーがいくつかあり、ゲーム内の敵との長方形のヒットボックスとの交差をチェックします。これはうまくいきますが、今は 30 度の角度のレーザーをいくつか実装しようとしていますが、これを効率的に行う方法がわかりません。画面上にかなりの数を表示することを計画しているので、ピクセルごとの検出はしたくありません。

どんな助けでも大歓迎です。ありがとう。

ああ、私はAndroid用のJavaでこれをやっています(それほど重要ではないと思います)

4

1 に答える 1

1

線形切片を使用して計算する

   y = mx + c
   y2 = gx + d
   mx + c = gx + d
   mx - gx = d - c
   x(m - g) = d - c
   x => (d-c)/(m-g)

次に、返された値が x のドメイン内にあるかどうかをテストします。x が見つかったら、y を計算し、レーザーと長方形の両方の範囲内にあるかどうかをテストします

于 2013-02-11T05:48:01.670 に答える