using UnityEngine; using UnityEngine.EventSystems; public class UIDragItem : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { private CanvasGroup canvasGroup; private Transform originParent; void Awake() { canvasGroup = GetComponent(); originParent = transform.parent; } public void OnBeginDrag(PointerEventData eventData) { canvasGroup.blocksRaycasts = false; transform.SetParent(transform.root); // ×îÉϲã } public void OnDrag(PointerEventData eventData) { transform.position = eventData.position; } public void OnEndDrag(PointerEventData eventData) { canvasGroup.blocksRaycasts = true; transform.SetParent(originParent); } }