0

コンタクト リスナーを持つ 2 つのダイナミック ボディがあり、ボディ A と B を呼び出します。

ボディ (A.tag == Car) がボディ (B.tag == Cat) に衝突したとき 車を押し戻したくない、猫を押し戻したいが車を押し戻さない (原因車も止めて!)

何か単純なものが欠けているように感じますが、b2Contact を操作して、一方のオブジェクトが変化しないように、もう一方のオブジェクトが変化するように説明できますか?

ありがとう!

4

1 に答える 1

0

PreSolve および PostSolve コールバックを使用できます。PreSolve では、車の速度、角速度、角度、および位置をどこかに保存します。たとえば、車の userData オブジェクトのインスタンス変数として保存します。PostSolve で、これらの値を元に戻します。

PreSolve はこれらのボディが衝突する直前に呼び出され、PostSolve は衝突の直後 (速度が変更されたとき) に呼び出されます。自分で試したことはありませんが、うまくいくはずです。

于 2012-11-27T13:08:43.557 に答える