3

box2d の前で何時間も費やしたにもかかわらず、applyforce と applyimpulse がどのように機能するのかまだわかりません。何が起こっているのかをよりよく理解するために視覚的なものを使用しようとしました (体の位置とアプリケーションのポイントの間に線を引くことによって) が、試行すればするほど意味がなくなります.

applyimpulse を使用して、box2d ボディをアプリケーション ポイント (この試みではマウス座標) の方向にジャンプさせたいと考えています。目的のポイント以外に行く...

これまでの私の試みのいくつかを次に示します。

b.ApplyImpulse(
new b2Vec2(g.mouseX/SCALE,g.mouseY/SCALE),
new b2Vec2(b.GetPosition().x,b.GetPosition().y));

そして反対

b.ApplyImpulse(
new b2Vec2(b.GetPosition().x,b.GetPosition().y),
new b2Vec2(g.mouseX/SCALE,g.mouseY/SCALE));

どちらも私にはまったく理解できない予測不可能な結果を​​もたらします。

ApplyImpulse について、私が 5 歳のときのように説明してもらえますか? インパルスの強さはどうやって決めるのですか?そして方向?誰もインターネット上でこれを説明していないようです。

私の貧弱な物理学のバックグラウンドを許してください。私はさまざまな方法で試しましたが、Box2d で作業するたびにこの問題に行き詰まりそうになりました。

よろしくお願いします!

4

1 に答える 1

0

問題はキャンバスの位置にある可能性があると思います。マウス座標を削除に置き換えるcanvas.leftと、うまくいく可能性があります

于 2012-09-17T21:57:43.767 に答える