3

現在、私は as2 プロジェクトに取り組んでおり、常に多数の弾丸と敵を画面に表示する必要があります。問題は、各弾丸が適切に衝突するために、すべての敵をループして距離が範囲内にあるかどうかを確認する必要があることです。すべての弾丸ごとにすべての敵をループすると、すべてのフレームが実際に加算され、フレーム レートが低下します。このタイプのチェックを行う他の方法はありますか?

4

1 に答える 1

3

この種の衝突に私が使用した最良の方法は、バイナリ ツリー法です。

すべての敵を含む敵用の外部シェルを作成することから始めたいと思います。各フレームでは、弾丸が単純なヒット テストを使用してシェルと衝突しているかどうかを確認します。次に、敵をサブシェルに分割する必要があります。メイン シェルには 2 つのシェルが含まれ、それぞれに 2 つのシェルが含まれます。次に、弾丸が最初のシェルに当たったかどうかを確認したら、可能性のある敵の半分を排除した場合、サブシェル 1 に当たったかどうかを確認します。次に、サブシェル 1-1 にヒットしたかどうかを確認し、サブシェル 1-2 にヒットしたかどうかを確認します。チェックする必要はありません。もう一度、現在の可能性の半分を排除しました。 1回のヒットテスト。

:)

于 2012-08-24T09:49:50.170 に答える