1

物理体にアタッチされたスプライトがレベルで別のスプライトと重なると何かが起こるようにしようとしています。2 番目のスプライトは、物理ボディにアタッチされていません。

より具体的には、2 つのスプライトがオーバーラップしている場合、スプライトの中心間の距離が特定の量よりも小さいかどうかをゲームで常にチェックする必要があります。距離が十分に小さければ、何かが起こるでしょう。

ゲームを最適化する方法として衝突チェックを使用しようとしているので、タイプ A と B のすべてのオブジェクトが近くになくても、それらの間の距離を常にチェックする必要はありません。それらが重なるのに十分近い場合にのみ、距離をチェックします。

今、私が疑問に思っているのは、どうすればこれを行うことができるのでしょうか? AndEngine の一部としてスプライト間の衝突をチェックする方法はありますか? それとも、物理ボディを 2 番目のオブジェクトにもアタッチしてから、物理衝突検出のみを使用する方が簡単でしょうか? しかし、それを行うと、衝突が検出されるようにすることはできますが、実際には物理的に「衝突」しませんか?

4

1 に答える 1

2

はい、CollisionDetectionExample.javaを参照してください。サンプル パッケージ全体をダウンロードすることをお勧めします。これは、AndEngine のドキュメントがない場合に非常に役立ちます。衝突検出は完全なピクセルではないため、スプライトの透明部分の衝突も検出されることに注意してください。そのためのライブラリがありますが、古いのではないかと思います。

于 2012-05-31T11:40:30.333 に答える