2012-03-15 5 views
1

私はゲームを作成するためにbox2dflashライブラリを使用していますが、これまでは "SetPosition"を使用して1つの場所から別の...問題は明らかに私がこれを行うときに他の身体に影響を与えないことです。私はボディを弾丸に設定しました...今は、体を正確な座標に移動させるために力を計算する方法(?)を知る必要があります。ボディをVecAからVecBに即座に移動しますが、他のボディに適切に影響します

これをbox2dで正しく行う方法はありますか?

答えて

3

SetLinearVelocityは、現在の場所と宛先の差に、1秒あたりのフレーム数を乗算して設定できます。それは1つのフレームでそこにボディを取得する必要があります、そして、あなたはそれを停止する必要があります!再度SetLinearVelocityを0にすると動作します。

+0

これは...正確に正しいです。これを達成する方法が1秒あたりのフレーム数の乗算であることはどうでしたか?この種の答えを見つけるために、SetLinearVelocityコードをリバースエンジニアリングするのにあまりにも長い時間を費やすことになりました。私はこれを十回upvoteすることができたらいいなあ! –

+2

ベロシティは毎秒の単位で与えられているので、速度を現在地と目標地点の差に設定するだけで1秒かかることがあります。あなたのフレームレートが60フレームになる60fpsの場合は、1フレームにそのフレームレートが必要な場合は、60倍高速化する必要があります:) – iforce2d

関連する問題