1

LibGDX のポートを使用して、Android ゲーム用に box2d をセットアップしました。

連絡先フィルターを使用して、いくつかのボディが互いに通過できるようにしています。ただし、そのようなボディを別のボディが占める場所に作成すると、2 つのボディが重なってスタックし、コンタクト フィルターが呼び出されません。1 つのオブジェクトをぶつけて接触を失った後、別の物体と再び接触した場合、それらは予想どおり互いにすり抜けます。ただし、最初からボディ同士をくぐらせたいと思っています。

1 つの動的ボディと 1 つの動的、静的、またはキネマティック ボディでこの動作に気付きました。私の完全なセットアップはかなり複雑なので、私の情報源が誰かに役立つかどうかはわかりません。

私の主な質問は、これが通常の box2d の動作のように聞こえるかどうかです (そうであれば、誰かが回避策を知っている場合)。一方、この問題が発生せずに同様のことを行った場合は、プログラムの動作が異なる原因となっている可能性のあるバグを探すことができるように、知りたいと思います.

ご協力いただきありがとうございます!

4

1 に答える 1

0

解決策は、コンタクト リスナーの代わりに b2FixtureDef::filter フィールドを介してコリジョン フィルタリングを使用することです。

于 2013-02-18T07:25:54.080 に答える