欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Unity2D关于物体旋转方向(起始方向向右)

程序员文章站 2024-03-16 17:49:46
...
 private void RotateIntoMoveDirection()
    {
        // 1 

        Vector2 newDirection = new Vector2(_hor , _ver);
        // 2
        float x = newDirection.x;
        float y = newDirection.y;
        float rotationAngle = Mathf.Atan2(y, x) * 180 / Mathf.PI;
        // 3
        GameObject sprite = gameObject;
        sprite.transform.rotation = Quaternion.AngleAxis(rotationAngle, Vector3.forward);
    }

newDirection为物体移动的方向,该方向也可通过目标点减起始点获得。
通过方向的x y值进行计算得到角度rotationAngle,然后通过Quaternion.AngleAxis方法来改变物体的rotation的值即可。

注意:物体起始方向为右,根据此来调节图片的方向

相关标签: unity 2d游戏