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

UGUI学习笔记5——官方教程Drag And Drop练习

2015-10-04 22:17 645 查看
找到官方的UIdemo练习。

Drag And Drop中用到了:

IBeginDragHandler,IDragHandler,IEndDragHandler

IDropHandler, IPointerEnterHandler, IPointerExitHandler

这几个UGUI提供的接口。

//drag脚本的用到的几个借口
public interface IBeginDragHandler : IEventSystemHandler
{
void OnBeginDrag (PointerEventData eventData);
}
public interface IDragHandler : IEventSystemHandler
{
void OnDrag (PointerEventData eventData);
}
public interface IEndDragHandler : IEventSystemHandler
{
void OnEndDrag (PointerEventData eventData);
}
//drop脚本用到的接口
public interface IDropHandler : IEventSystemHandler
{
void OnDrop (PointerEventData eventData);
}
public interface IPointerEnterHandler : IEventSystemHandler
{
void OnPointerEnter (PointerEventData eventData);
}
public interface IPointerExitHandler : IEventSystemHandler
{
void OnPointerExit (PointerEventData eventData);
}


drag代码的思路

是在点击拉动图标时创建一个icon,这个icon的sprite和点击的图标相同写在OnBeginDrag方法里。在OnDrag方法里写icon跟随鼠标移动。OnEndDrag里删除创建的icon。

drop代码的思路

在OnDrop方法里让目标区域的图片变成把darg的图片。

可以在OnPointerEnter让目标区域的外框高亮,OnPointerExit里让目标区域外框变回原色。

写代码时发现需要注意的地方:

判空写成

if(null==a)
{
//do something
}


好于

if(a==null)
{
//do something
}


防止误把a==null写成a=null。

2,判空处理很重要,可以减轻debug时的工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UGUI Unity ui