0

私はこの問題を2日以上抱えています。常に微調整。私はそれを成し遂げることができません。

タッチパッドを使用して回転させたい Player テクスチャ ( Player が左を向いている ) があります。したがって、プレイヤーは自分の走っている方向を向いています。

これまでのところ、私はこれを持っています:

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 値を切り替えてみました。しかし、私が動いている方向にのみ彼を回転させたことはありません。XとYの値を交換して、atan関数も試しました。

私を助けてください。私は何千もの方法を試しました.さまざまな計算とGoogleで見たもの. 望ましい効果は何もありませんでした。

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 に答える