2017-11-02 8 views
0

libgdx box2dでプレイヤーをジオメトリダッシュのように連続して穴の時間をずらして移動したい。私は力と衝動でそれを試したが、それはうまくいかなかった。これを行う方法を誰かに教えてもらえますか?libgdx box2d継続的にプレイヤーを移動

+0

これに関連するコードを表示するか、詳細をお知らせください。あなたの質問に答えるには、あなたが使っている身体の種類を知る必要があります。たとえば、動的ボディを使用していない場合、力とインパルスはそれらのボディに影響を与えません。 –

答えて

0

1つのオプションは、あらゆるステップで、ボディの線速度を任意の値に設定することです。もう1つは、各フレームの新しいボディの位置を計算して設定することです。

0

applyLinearImpulse(..)メソッドを使用し、制限を最大速度に設定します。

float maxSpeed = 5f; // Lets say it's 5 for example 
float speed = .5f; // also depends on your body density 

if (playerBody.getLinearVelovity().x < maxSpeed) { // if your body moves only right like in geometry dash. If you want left too, use Math.abs(playerBody.getLinearVelovity().x) < maxSpeed; 
    body.applyLinearImpulse(new Vector2(speed, 0), body.getWorldCenter(), true) 
} 
関連する問題