1

パフォーマンスの観点から最も正しいものは何ですか - 敵と武器の間の相互作用のアルゴリズム(ここでは弾丸がより正しいかもしれません)?

すべてのスプライトのすべての弾丸は、「collidesWith」メソッドを介して完全な敵リストの反復で衝突をチェックする必要がありますか? それとも、弾丸は最も近い敵を認識して、それらだけをチェックする必要がありますか?

TMXMaps でどのように実装できますか? ある種の情報を TMXMap タイル プロパティに動的に設定して操作する必要があるのではないでしょうか?

この種のゲームにはどのようなベスト プラクティスがありますか? Bullet->Enemy インタラクションの正しい選択は IShape.collidesWith ですか?

4

1 に答える 1

0

これにアプローチする最善の方法は、Physics Box2D 拡張機能を使用することです。それはあなたのために衝突を処理します。Fixed Step Physics Engine を使用してパフォーマンスを向上させます。

  1. 独自のプロパティを TMX マップ (各オブジェクト、グループなど) に追加できます。敵であるオブジェクトにプロパティを作成することをお勧めします。敵は TMX マップに含まれると思われるからです。コードで、そのプロパティを持つ各オブジェクトに物理エンジン ボディをアタッチします。この例を見てください: http://www.andengine.org/forums/tutorials/collision-objects-from-tmx-map-t3907.html

  2. 弾丸を発射するときは、それにボディも取り付けます。センサーにして、他のオブジェクトに跳ね返らないようにします(必要な場合を除く)。Box2D に衝突を処理させて、余波を処理してください! 例: http://www.andengine.org/forums/gles2/collision-events-t7140.html#p31300

AndEngine の例を参照してください。必要なもののほとんどは既に存在します: https://github.com/nicolasgramlich/AndEngineExamples/tree/GLES2/src/org/andengine/examples

于 2013-05-20T03:08:04.540 に答える