LibGdx - Box2d - 跳跃

时间:2014-07-15 23:21:13

标签: java android libgdx box2d

我想创造一个像飞鸟一样的游戏。我希望玩家在屏幕上连续跳跃。我创建了这个代码,它并不像一个飞扬的鸟跳

代码:

float jump = 100; // Just example

if(Gdx.input.justTouched())
    body.applyForceToCenter(0, jump * delta, true);

问题是当用户快速点击屏幕时,播放器像火箭一样被击中。当球员下降跳跃时也会降低。我该如何解决这个问题,并始终获得相同的跳跃力?

我的解决方案:

    jumpTimer += delta;

    if(Gdx.input.justTouched()) {

        if (jumpTimer > jumpTime) {

            body.setLinearVelocity(body.getLinearVelocity().x, 0);
            body.applyForceToCenter(0, jump * delta, true);
        }

        jumpTimer = 0;
    }

1 个答案:

答案 0 :(得分:0)

可以使用几种方法来实现这种效果。

  • 就像穆罕默德在评论中提到的那样,你可以将y速度钳制到最大值。
  • 制作,以便玩家每x时间只能点按一次屏幕。
  • 玩家上升得越快,点击就会产生更小的力量。
  • 完全禁止以一定的速度敲击。
  • 将这些结合起来并进行调整,直到您对结果感到满意为止。
相关问题