0

libgdxを使って見下ろし型の2Dシューティングゲームを作りたいです。画面から消えたときに追跡して処分したい弾丸オブジェクトがたくさんあります。私は次のようなものを使用することを考えていました

static ArrayList<Bullet> bullets;

Bulletクラスで弾丸を追跡するには、この配列リストをチェックして、画面から外れている弾丸がないかどうかを確認し、そうである場合はそれらを破棄し、その弾丸を ArrayList から削除します。これがこれを行うための最良の方法かどうか疑問に思っていました。これはかなり一般的なことのように思えるので、これが最善の方法であることを確認したかったのです。

4

1 に答える 1

3

オブジェクト プールlを使用する方が良い方法です。

オブジェクト プールの考え方は単純で、この場合のニーズに完全に適合します。プールは、オブジェクトの作成と格納を処理しBulletます。必要なのは、弾丸が必要なときにプールのメソッドを呼び出しobtain(ユーザーが撃つ)、この弾丸がゲームで不要になったときにプールのリサイクル メソッドを呼び出すことです (画面外に移動します)。

AndEngine のソースから取得したプールのコード例を次に示します。それを使用して、それがどのように機能するかを学び、独自のプール クラスを作成できます (または、これを使用します)。

于 2012-11-06T15:01:15.790 に答える