使用libgdx触摸板旋转播放器以面向移动方向

时间:2016-05-19 20:09:01

标签: java android libgdx rotation touchpad

我现在有这个问题超过2天了。不断调整。我不能完成它。

我有一个播放器纹理(播放器面向左侧),我想用触摸板旋转它。因此,玩家将面对他的跑步方向。

到目前为止我有这个:

double facerotation = Math.atan2(touchpad.getKnobPercentY(), touchpad.getKnobPercentX());

spriteBatch.draw(runningFrame, player.getPosition().x, player.getPosition().y, Player.getSize() / 2, Player.getSize() / 2, Player.getSize(), Player.getSize(), 1, 1, facerotation * 100, false);

但是" roation * 100"他旋转了两次,没有几乎没有旋转。我甚至尝试切换上面的atan2函数的X和Y值。但我从来没有让他只在我移动的方向旋转。我也尝试了atan函数,也交换了X和Y值。

请帮帮我。我尝试了数千种方法,不同的计算和我在谷歌上看到的东西。什么都没有给我带来预期的效果。

1 个答案:

答案 0 :(得分:1)

只需使用Vector2。用它来存储旋钮百分比y和x。然后你可以用vector2.angle()来获得旋转度。

Vector2 v = new Vector2(touchpad.getKnobPercentX(), touchpad.getKnobPercentY());
float angle = v.angle();
runningFrame.setRotation(angle);