上代码:
using UnityEngine;
using UnityEngine.EventSystems;
public class DragUI : MonoBehaviour, IDragHandler, IPointerDownHandler
{
private Vector2 offsetPos; //临时记录点击点与UI的相对位置
public void OnDrag(PointerEventData eventData)
{
if (Input.GetMouseButton(0))//不加这个 鼠标左右中键点击都能拖动UI
{
transform.position = eventData.position - offsetPos;
}
}
public void OnPointerDown(PointerEventData eventData)
{
offsetPos = eventData.position - (Vector2)transform.position;
}
}
把代码挂在需要拖拽的UI上就可以了。