Unity UGUI教程之 2D图片随着鼠标旋转

2025-10-19 09:47:53

1、打开Unity,新建一个工程,具体如下图

Unity UGUI教程之 2D图片随着鼠标旋转

2、到一张图片到工程中,具体如下图

Unity UGUI教程之 2D图片随着鼠标旋转

3、在场景中,添加一个RawImage,并把导入的图片添加进去,把图片调整到Canvas中下部,便宜观察效果,具体如下图

Unity UGUI教程之 2D图片随着鼠标旋转

4、在工程中新建一个脚本,可以命名为 FollowMouse,双击打开进行代码编辑,具体如下图

Unity UGUI教程之 2D图片随着鼠标旋转

Unity UGUI教程之 2D图片随着鼠标旋转

5、FollowMouse 脚本具体内容如下:

using UnityEngine;

public class FollowMouse : MonoBehaviour {

    //对应旋转体负载的Canvas

    public RectTransform uGUICanvas;

    public float rotateSpeed = 30.0f;

    // Update is called once per frame

    void Update () {

        //屏幕坐标转为世界坐标

        Vector3 mousePos;

        RectTransformUtility.ScreenPointToWorldPointInRectangle(

            uGUICanvas, new Vector2(Input.mousePosition.x, Input.mousePosition.y),

            Camera.main, out mousePos);

        //判断左转还是右转

        float z;

        if (mousePos.x > transform.localPosition.x)

        {

            z = -Vector3.Angle(Vector3.up, mousePos - transform.localPosition);

        }

        else

        {

            z = Vector3.Angle(Vector3.up, (mousePos - transform.localPosition));

        }        //把旋转角度赋给旋转体,进行对应旋转

        transform.localRotation = Quaternion.Euler(0, 0, z * rotateSpeed);

    }

}

6、脚本编译正确,回到Unity,把脚本挂在到 RawImage 上,并把Canvas赋值给脚本,具体如下图

Unity UGUI教程之 2D图片随着鼠标旋转

7、运行场景,合理调整好旋转速度,效果如下图

Unity UGUI教程之 2D图片随着鼠标旋转

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢