1. 程式人生 > >UGUI 使用滑鼠拖拽UI

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指令碼,

然後我們可以執行測試一下,拖拽基本實現。