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脚本,

然后我们可以运行测试一下,拖拽基本实现。

猜你喜欢

转载自blog.csdn.net/qq_26723085/article/details/81215649
今日推荐