物品拖拽[u3d_rpg游戏开发之物品管理(五)]

之前在网上找了好多方法,总是不适合自己,要么就是不能用之类的,我用的是2017的版本,在这里"全面"解析一下.首先创建一个脚本InventoryItem挂在需要拖拽的Image上,这里的Image是另一个Image的子物体,因为子的Imget我用来显示物品的相应物品的图片,而父的Image我用来显示格子的图片,这样就有了格子里面的物品,可以用来拖动,而且,格子的标签我设为"InventoryItemGird",拖拽结束时就可以通过标签判断是不是格子.

1. 继承接口

u3d的ugui有相应的接口来方便我们实现拖拽功能,除了本来就需要继承的MonoBehaviour外,我们写的脚本再继承三个接口,还得先导入头文件 UnityEngine.EventSystems;

using UnityEngine.EventSystems;
public class InventoryItem : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
}

2. 实现抽象方法

抽象方法同样是三个

using UnityEngine.EventSystems;
public class InventoryItem : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
    /// <summary>
    /// 实现接口的OnBeginDrag方法,处理开始拖拽时要做的事情
    /// </summary>
    /// <param name="eventData"></param>
    public void OnBeginDrag(PointerEventData eventData)
    {

    }
    /// <summary>
    /// 实现接口的OnDrag方法,处理拖动中要做的事情
    /// </summary>
    /// <param name="eventData"></param>
    public void OnDrag(PointerEventData eventData)
    {

    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值