直接把代码给窗口,不需要添加Button组件。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
/// <summary>
/// 鼠标拖动UI
/// </summary>
public class TestButton : MonoBehaviour, IPointerDownHandler, IDragHandler
{
private Vector2 localMousePos;
private Vector3 planeLocalPos;
private RectTransform targetObject;
private RectTransform parentRectTransform;
private RectTransform targetRectTransform;
private void Awake()
{
targetObject = this.transform.GetComponent<RectTransform>();
if(targetObject == null)
{
targetObject = transform as RectTransform;
}
parentRectTransform = targetObject.parent as RectTransform;
targetRectTransform = targetObject as RectTransform;
}
public void OnPointerDown(PointerEventData data)
{
planeLocalPos = targetRectTransform.localPosition;
RectTransformUtility.ScreenPointToLocalPointI