UGUI 使用滑鼠拖拽UI
做了一段時間的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(PointerEventData eventData)
{
Debug.LogError("OnDrag");
}
}
次指令碼繼承IBeginDragHandler, IDragHandler, IEndDragHandler,用於拖拽就足夠了。
此處繼承Selectable另有他用暫不描述。
此時給我們的image物件掛載DragEvent指令碼,
然後我們可以執行測試一下,拖拽基本實現。