Unity拖拽旋转2D物体

/*************
** Company: DX
**SrtiptName:RotateImage
** Auth:    CW
** Des:      
** Ver.:     V1.0.0
*************/
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using Spine;
using Spine.Unity;
using UnityEngine.EventSystems;

namespace Kernal
{
   public class RotateImage : MonoBehaviour, IDragHandler
    {
        public void OnDrag(PointerEventData eventData)
        {
           
            SetDraggedRotation(eventData);
        }

        private void SetDraggedRotation(PointerEventData eventData)
        {
            Vector2 curSelfScreenPosition = RectTransformUtility.WorldToScreenPoint(eventData.pressEventCamera, transform.position);
            Vector2 directionTo = curSelfScreenPosition - eventData.position;
            Vector2 directionFrom = directionTo - eventData.delta;
            this.transform.rotation *= Quaternion.FromToRotation(directionTo, directionFrom);
        }


    }
}
原文地址:https://www.cnblogs.com/weiqiangwaideshijie/p/9626572.html