0

重力によって床(静的体)に衝突するアイテム(動的体)が欲しいです。しかし、プレイヤーがアイテムと重なったときにコールバックが必要ですが、プレイヤーが床のアイテムと衝突することは望ましくありません (アイテムの isSensor プロパティが true に設定されているかのように)。

出来ますか?カテゴリ ビットとマスク ビットを使用していくつかの構成を試みましたが、成功しませんでした。

アイテムのgravityScaleが0に設定されていたため、床に落ちなかったので、以前はこの問題はありませんでした。しかし今、彼らは重力に対応する必要があります。

ありがとう。

4

1 に答える 1

0

を拡張するクラスを実装する必要がありますb2ContactListenerPreSolve()仮想機能で衝突を拒否することを選択できます。b2Contactに渡されるオブジェクトでは、PreSolve()2 つのフィクスチャを取得できます。以前にユーザー データへのポインタを保存している場合、実際に衝突するものをそこから導き出すことができます。

ゲーム エンジンを起動する前に、 のサブクラスの新しいオブジェクトを作成し、ゲーム ワールド オブジェクトのb2ContactListenerメソッドを呼び出しSetContactListener()てリスナーを設定します。

サンプルコード

于 2012-06-01T09:23:10.107 に答える