1

ゲームを正しい速度で実行するには時間ステップが必要であり、高速なハードウェアは速度を 30 または 60 fps に調整します。それ以外の場合、ゲームはハードウェアが処理できる速度で実行されます。今、私のゲームは PC で期待どおりに実行されますが、デバイス (galaxy ace) で起動すると、ボディの動きが非常に遅くなり、Body.AppliLinearImpulse または AppliForce の量に関係なく、超えることのできない最大速度さえあります。また、setLinearVelocity を非常に高い数値に変更しましたが、常に同じ速度です。libgdx box2d のバグでしょうか? または私のギャラクシーエースアンドロイド2.3のバグ

4

1 に答える 1

1

ピクセル値に等しい寸法を渡しながら、おそらく Box2D ボディをシミュレートしています。ただし、Box2D はメートル単位で実行されるため、300 メートルのサイズのボディを作成すると、シミュレーション全体の上限が低くなります。

推奨されるアプローチは、任意の比率 (1m == 64px) を使用し、Box2D システムを縮小することです。px から変換されたメーター値を使用してボディを初期化および操作します。

これにより、さまざまな動きが可能になり、速度の上限が高くなります。あなたと同じ問題があり、それを理解するのに少し時間がかかりました。

于 2013-01-08T23:26:19.000 に答える