您的位置:首页 > 产品设计 > UI/UE

ugui和ngui如何实现拖拽背包功能

2017-11-26 15:09 417 查看
ugui:

首先需要在UI上面挂上脚本,然后脚本可以继承并实现以下三个接口

public class UI : MonoBehaviour,IBeginDragHandler,IDragHandler,IEndDragHandler
{
public GameObject go;//获取想要拖拽的物体

public void OnBeginDrag(PointerEventData eventData)
{
throw new NotImplementedException();
}
//鼠标第一次点击到UI物体上的时候执行一次

public void OnDrag(PointerEventData eventData)
{
go.transform.position=Input.mousePosition;//让想要拖拽的物体的坐标等于鼠标坐标
}
//当鼠标按下并持续移动时一直执行(鼠标按下但是不移动时不会执行)

public void OnEndDrag(PointerEventData eventData)
{
throw new NotImplementedException();
}
//当松开鼠标时执行一次
}


以上代码就可以实现UI物体的拖拽功能

ngui:

相对于ugui更加简单一些,只需要在要拖拽的物体上面加碰撞器和一个ngui自带的脚本即可



这样就直接可以让物体进行拖拽,不过这样只能简单的拖拽物体,如果要进行其他操作,可以再新建一个脚本,并且继承ngui自带的脚本

public class UIController : UIDragDropItem
{
protected override void OnDragDropRelease(GameObject surface)
{
base.OnDragDropRelease(surface);
}
}


继承的脚本如果要实现拖拽功能必须重写以上方法,方法里的参数为拖拽物体碰到的其他游戏物体
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ui ngui ugui