UI 2D图片随鼠标旋转

//脚本挂在旋转的图片上,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的坐标

//脚本挂载位置

运行结果: 

图片随鼠标绕轴心旋转

posted @ 2016-08-08 10:12  CocomoNo1  阅读(209)  评论(0)    收藏  举报