LibGDX Box2D防止对象在跳跃后减速

时间:2018-11-10 18:59:47

标签: java libgdx box2d physics

我正在用Box2D在libGDX中编写一个2d平台程序,我只是意识到,如果您的对象在运行时跳跃,然后降落在表面上以继续运行,他的速度会降低120%大约一秒钟。那真的很烦人,我真的无法提出解决方案。我试过在运动员跳下地面后将速度提高一秒钟,但这似乎并不能解决问题。这就是我用来移动播放器的内容:

    //jumping
    if(Gdx.input.isKeyJustPressed(Keys.SPACE) && player.b2body.getLinearVelocity().y == 0){
        player.b2body.applyLinearImpulse(new Vector2(0, 4.2f), player.b2body.getWorldCenter(), true);
    }

    //moving right
    if(Gdx.input.isKeyPressed(Keys.D) && player.b2body.getLinearVelocity().x <= 2){
        player.b2body.applyLinearImpulse(new Vector2(0.17f, 0), player.b2body.getWorldCenter(), true);
    }

    //moving left
    if(Gdx.input.isKeyPressed(Keys.A) && player.b2body.getLinearVelocity().x >= -2){
        player.b2body.applyLinearImpulse(new Vector2(-0.17f, 0), player.b2body.getWorldCenter(), true);
    }

Here是一段视频,显示正在发生的事情。

我希望我提供了正确的信息,如果没有请告诉我。

编辑:我也尝试使用

设置x轴的位置
    player.b2body.setLinearVelocity(1f, 0);

但是,这似乎会使玩家向右滑动。

0 个答案:

没有答案