NGUI的拖拽和放下功能的制作,简易背包系统功能(drag and drop item)

一我们添加sprite,给sprite添加背景图片和添加box collider,但是drag and drop item在attach中是找不到的只能在add component中查找添加,如下图:

这时生成一个这样的脚本

二,现在只能识别拖的功能,我们该怎么监听放下的功能呢?

 1》我们添加一个脚本MayDragDropItem继承UIDragDropItem,将当前这个自动生成的删除,如下图:

using UnityEngine;
using System.Collections;

public class MayDragDropItem : UIDragDropItem {


}

2》继承重新编译之后,我们看看跟之前那个区别

当继承之后,两者的属性的一样的,这时我们可以删除上面那个了,保留我们自己添加的那个MayDragDropItem

3》现在我们要获取拖拽之后放下到那个游戏物体该怎么写呢?

 1》拖拽获取的是碰撞,游戏物体的碰撞我们都需要添加一个box collider,我们添加一个sprite当做存放装备的空格,然后添加一个box collider,然后重写UIDragDropItem的OnDragDropRelease方法,如下代码:

using UnityEngine;
using System.Collections;

public class MayDragDropItem : UIDragDropItem {

    protected override void OnDragDropRelease(GameObject surface)
    {
        base.OnDragDropRelease(surface);

        //进行我们的处理代码
        print(surface);
    }
}

我们运行游戏将物体拖拽到空格,就可以获取到空格这个游戏物体,可以输出surface,就知道

posted @ 2018-03-19 20:40  叶丶梓轩  阅读(445)  评论(0编辑  收藏  举报