LibGDX problems with if



我在我的LibGDX游戏中有这个if语句。问题是,我的球员向左看,他会向左移动,这是正确的,但如果他向右看,他就会向左移动。我该如何解决这个问题?

 public boolean keyUp(int keycode) {
        if (keycode == Input.Keys.A &&  player.b2body.getLinearVelocity().x >=-0.5) {
            SpinDashleft();

            return true;
        }
        else   if (keycode == Input.Keys.A &&  player.b2body.getLinearVelocity().x <=0.5) {
            SpinDashright();

            return true;
        }

        return false;
    }
   public void SpinDashleft() {

    player.b2body.applyLinearImpulse(new Vector2(-7.1f, 0), player.b2body.getWorldCenter(),true);
}
public void SpinDashright() {

        player.b2body.applyLinearImpulse(new Vector2(7.00f, 0), player.b2body.getWorldCenter(),true);
}

0.5是干什么用的?检查最低速度?如果是这样,你可能看错了符号。

    if (keycode == Input.Keys.A) {
      if (player.b2body.getLinearVelocity().x >= 0.5) {
        SpinDashleft();
        return true;
      }
      if (player.b2body.getLinearVelocity().x <= -0.5) {
        SpinDashright();
        return true;
      }
    }

最新更新