4

私は3種類の体を持っています。彼らです

1) MouseJointBody (mouseJointのみで動いています)

2) 2つのMovingBodys (ワールド内を連続的に移動しています)

3) StaticBody (定位置固定)

これらのボディ間の衝突が必要で​​す:

1)MovingBodys と StaticBody およびワールド境界を持つ MouseJointBody

2) MouseJointBody のみの StaticBody

3) MouseJointBody とワールド境界のみの MovingBodys

4) 動く物体同士が衝突する

ただし、StaticBody および MovingBody と衝突する必要はありません。以下のコードのように、これらのボディにフィルター データを設定します。

スタティックボディ:

fixDef.filter.categoryBits=0x0004;
fixDef.filter.maskBits= 0x0002;

移動体:

fixDef.filter.categoryBits=0x0004;
fixDef.filter.maskBits= 0x0002;

マウスジョイントボディ:

fixDef.filter.categoryBits=0x0002;
fixDef.filter.maskBits= 0x0004;

すべて正常に動作していますが、MovingBodys は互いに衝突せず、MouseJointBody と MovingBody はワールド ボックスと衝突しません。この二人はこの世を去ります。これの解決策を教えてください。

4

2 に答える 2

0

Box2D のプロジェクト baseb である Farseer には CollisionCategory が存在しますが、Box2D には異なる解決方法があります

次のディスカッションを確認してください

アイデアは、ボディ タイプがそれぞれであること、およびボディのみが衝突できることを割り当てることです。

ディスカッションでは、同様のケースを扱い、A は B をヒットし、C は D をヒットしますが、A は A をヒットしません

于 2013-07-23T15:15:46.473 に答える