スプライトを作成してユーザーのトラックにコインを追加し、それをボディに保持しました。問題は、プレーヤーがコインに衝突したとき、コインは取り除かれますが、ナノ秒のジャークがかかることです。コインにぶつかってもスムーズに走ってほしい。
1 に答える
1
あなたは正しいです、問題は Box2D によるものです。明らかに、ボディの削除には時間がかかり、遅延が発生します。非常に多くのボディを保持する予定がない場合は、ボディにセンサーを取り付けることができます。センサーは、他の物体との衝突を引き起こさない特別な種類のフィクスチャですが、物体が接触しているかどうかを確認できます。このようにして、コインを所定の位置に保持し、スプライトのみを削除して、ボディを削除することによるオーバーヘッドなしでコインが消えるようにすることができます。
ここで Box2d マニュアルを参照してください: http://www.box2d.org/manual.html#_Toc258082972
もう 1 つのことは、コリジョン フィルタリングです。ただし、コリジョン ビットが適切に設定されている場合に isTouching() メソッドが true を返すかどうかはわかりません。そのため、試してみる必要があります。ここに素晴らしいチュートリアルがあります: http://www.iforce2d.net/b2dtut/collision-filtering
于 2012-08-15T09:55:08.483 に答える