11

iphoneでbox2dを使ってゲームを作っています。私は重力の影響を受けて左右ではなく下に動く体を持っています。それは別の体にぶつかり、右または左に移動します。次に、本体を開始点に戻すリセット ボタンがあります。唯一の問題は、それがまだ右または左に動いていることです。ボールがすでに移動している力をどのように打ち消すことができますか? ゲームをリセットしたときに、この左右の動きを取り除くにはどうすればよいですか?

4

1 に答える 1

27

Box2d は、各シミュレーション ステップで力を自動的にクリアします。リセット時に体の位置を変更しているだけだと思いますが、速度は変更していません。次のコードをリセット メソッドに追加します。

body->SetLinearVelocity(b2Vec2(0,0));
body->SetAngularVelocity(0);
于 2011-09-25T10:10:58.307 に答える