0

我现在有这个问题超过 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”的情况下,他旋转了 2 次,而没有他几乎不旋转。我什至尝试为上面的 atan2 函数切换 X 和 Y 值。但我从来没有让他只在我移动的方向上旋转。我还尝试了 atan 函数,也交换了 X 和 Y 值。

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

4

1 回答 1

1

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

Vector2 v = new Vector2(touchpad.getKnobPercentX(), touchpad.getKnobPercentY());
float angle = v.angle();
runningFrame.setRotation(angle);
于 2016-05-19T20:28:13.820 回答