我在我的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;
}
}