私はかなりの量の検索を行い、反重力オブジェクトに関する複数の提案を見つけましたが、適切に機能するものはないようです. 地球の重力で作成された物理世界があります。ユーザーは画面をタップして、スプライト/ダイナミック ボディを作成します。これらは、重力のために画面の下部に落ちます。重力を無視して、作成されたスプライトを跳ね返して、画面の周りを跳ね返ることになっている別のスプライト/ボディがあります。AndEngine の Box2D には setGravityScale() がないようですので、重力を 0 に設定することはできません。キネマティック ボディに取り付けられたフィクスチャを作成してどちらの側が衝突しているかを判断する際の問題は、スプライトが円 (大きくない) であることです。取り引き)、私はそれらがどのように機能するかよくわかりません。体と等しい一定の力で動的な体を作成できる可能性があることがわかりました。getMass()*SensorManager.Earth を -y 方向に実行し、弾力性を 1 に設定しますが、完全に弾力性のある衝突を取得する方法はありません。誰にも完璧な提案はありますか?
2 に答える
1
Box2D での衝突は実際には弾性的ではありません。計算にはいくつかの小さなエラーがあり、蓄積する傾向があり、体はエネルギーを失います。思いつくアプローチは 2 つあります。
a)弾力性を1より少し上に設定できます
b) 体の運動エネルギーを監視し、それが特定のしきい値を下回った場合は、少し動かします。
于 2012-06-29T12:10:05.253 に答える
0
JohnEye は正しかったのですが、私が気に入ったほど有益ではありませんでした。同様の質問で、私はこれに答えました:移動する方向に物体に力を加えるにはどうすればよいですか (Box2D)?
于 2012-06-29T20:12:59.707 に答える