2010-12-04 23 views
2

これで、Android上での衝突を検出する最適な方法は何ですか?唯一の例として、2つのオブジェクトが互いに直接オーバーラップしていることがわかります。個人的に私はバウンディングボックスを使用することを考えていましたが、私はどうやってやりたいのか分かりませんし、まだまだ何かもう少しパーコイズを望んでいます(ピクセルごと?)Androidでの衝突検出

+0

Box2dはあなたの人生を楽にします – Nepster

答えて

2

あなたはこのトピックの専門家ではないあなたはそれを行うためにBox2dライブラリを使用します。これは非常に完全な物理エンジンで、衝突検出を非常にうまくサポートしています。

お役立ちリンク:http://www.4feets.com/2009/03/2d-physics-on-android-using-box2d/

+3

私はこのlibaryについてこれまで聞いたことがありますが、物理学の必要がないので衝突計算にSoleyを使用できるかどうか疑問に思っています – Foxx

1

二つのステップ:

  1. "ヒットボックスの" 衝突することができますすべてを与えます。あなたのオブジェクトにRectを保持してください。ドロアブルと同じサイズで、同じ場所に置いてください。

  2. myRectHitbox.contains(...)のいずれかを呼び出します。この方法で点または矩形の衝突をチェックすることができます。

3

第3位がほぼ正しいです。

. contains(...)の代わりにmyRectHitbox.intersect(myOtherRectHitbox)を使用します。 .contains(...)は、1つのRectが別のRect内に完全に入っていても、他のRectangleと重なっているピクセルがあれば、.intersect(...)がトリガーする場合にのみトリガーされます。

Rectの代わりにRectFを使用すると、サブピクセルをサポートするデバイスでサブピクセルの精度が得られます。