0

こんにちは、私はボックス 2D フレームワークを使用して cocoas2d でアプリケーションを開発していますが、残念ながら

ここに表示されている画像の半分の画面領域にある灰色のボールを制限することはできません。ボールが画面の反対側に移動しないようにしたいです。

私は b2Mousejoint For を使用してボールを画面上で動かしました

b2PrismaticJointDef 特定の軸
を制限しますが、画面の特定の四角形領域を制限したい 私の悩みのイメージ

4

1 に答える 1

0

ボールのグローバル軸を制限するカスタム距離ジョイントを作成できます。しかし、独自の物理エンジンを作成しないと難しいでしょう。

必要なものを実装するには、2 つの簡単な方法があります。

  1. ボールが留まらなければならないエリアの周りに 4 つの静的な「境界」ボックスを作成します。次に、ボールとボックスを 1 つの衝突グループに配置します。

ここに画像の説明を入力

ただし、「境界」ボックスの応答は即時ではありません。そのため、高速のボールがボックスに「沈み」、飛び出すことがあります。

  1. ボールが目的の領域の境界を越えたときに、ボールの位置を修正し、コードで手動で速度をリセットできます。ただし、物理シミュレーションが不安定になる可能性があります。
于 2011-11-11T07:36:30.563 に答える