鼠标拖拽好像只能用于UI对象,暂时好像是这样的,如有误,我后面会更新。
一:NGUI实现
NGUI的更简单,只需直接覆写OnDragRelease()方法
//拖拽结束时调用
protected override void OnDragDropRelease(GameObject surface)
{
}
什么都不用写就实现了拖拽。
二、UGUI实现
UGUI需要实现对应的接口,以及自己更新UI对象的坐标,代码如下:
public class DragTest : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
// begin dragging
public void OnBeginDrag(PointerEventData eventData)
{
SetDraggedPosition(eventData);
}
// during dragging
public void OnDrag(PointerEventData eventData)
{
SetDraggedPosition(eventData);
}
// end dragging
public void OnEndDrag(PointerEventData eventData)
{
SetDraggedPosition(eventData);
}
/// <summary>
/// set position of the dragged game object
/// </summary>
/// <param