做了一段时间的VR产品,使用UGUI主要是是3DUI,今天需要实现一个鼠标拖动2DUI的功能,学习了一下在此坐下笔记。
使用Unity版本:5.6.4
以image为例进行记录,首先创建一个image , 勾选Raycast Target属性。
然后实现脚本:
public class DragEvent : Selectable, IBeginDragHandler, IDragHandler, IEndDragHandler
{
public void OnBeginDrag(PointerEventData eventData)
{
// Debug.LogError("OnBeginDrag");
//使拖拽的物体显示在同级的最上层
transform.SetAsLastSibling();
}
public void OnDrag(PointerEventData eventData)
{
Debug.LogError("OnDrag");
if(eventData != null)
{
transform.position = eventData.position;
}
}
public void OnEndDrag(Poi