Unity UGUI教程之 2D图片随着鼠标旋转
1、打开Unity,新建一个工程,具体如下图
2、到一张图片到工程中,具体如下图
3、在场景中,添加一个RawImage,并把导入的图片添加进去,把图片调整到Canvas中下部,便宜观察效果,具体如下图
4、在工程中新建一个脚本,可以命名为 FollowMouse,双击打开进行代码编辑,具体如下图
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赋值给脚本,具体如下图
7、运行场景,合理调整好旋转速度,效果如下图