我现在有这个问题超过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值。
请帮帮我。我尝试了数千种方法,不同的计算和我在谷歌上看到的东西。什么都没有给我带来预期的效果。
答案 0 :(得分:1)
只需使用Vector2。用它来存储旋钮百分比y和x。然后你可以用vector2.angle()来获得旋转度。
Vector2 v = new Vector2(touchpad.getKnobPercentX(), touchpad.getKnobPercentY());
float angle = v.angle();
runningFrame.setRotation(angle);