//脚本挂在旋转的图片上,CubeZ的坐标设置为(0,0,1),要将轴心点放在中间位置
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class RotateIt : MonoBehaviour, IBeginDragHandler, IDragHandler
{
public GameObject RotateImg;
//转盘
public GameObject CubeZ;
Vector3 mous;//记录鼠标的坐标
Vector3 gameZ;
void Start ()
{
gameZ = CubeZ.transform.position;
//记录下参考物体的坐标
}
public void OnBeginDrag(PointerEventData eventData)
{
mous = Input.mousePosition;
//记录开始拖拽时的鼠标坐标
CubeZ.transform.LookAt(mous);//看向鼠标的坐标
Debug.Log(mous);
}
public void OnDrag(PointerEventData eventData)
{
RotateImg.transform.Rotate(new Vector3(
0,
0, -gameZ.z));//顺时针旋转
RotateImg.transform.Rotate(new Vector3(0, 0, gameZ.z));//逆时针旋转
Debug.Log(transform.position); } }
//参考物体 CubeZ的坐标
//脚本挂载位置
运行结果:
图片随鼠标绕轴心旋转
转载于:https://www.cnblogs.com/Cocomo/p/5748219.html
相关资源:JAVA上百实例源码以及开源项目源代码