您的位置:首页 > 移动开发 > Unity3D

[置顶] Unity基于NGUI实现拖拽功能

2016-03-01 21:48 1251 查看
    在游戏中,我们在游戏物品中经常要拖拽物体,例如将物品放在另一个物品栏中或者将装备穿在人物上,这时我们就要用拖拽来完成。

    在NGUI 中有一个叫UIDragDropItem的脚本,我们用这个脚本来实现。

    public class InventoryItem : UIDragDropItem {

   //当拖拽结束的时候调用这个方法,参数表示当拖拽结束时鼠标下的物体,物体上必须有collider才可以

    protected override void OnDragDropRelease(GameObject surface)

    {

        base.OnDragDropRelease(surface);

        //当鼠标触发到物体时

if(surface!=null)

       {

//表示鼠标下有物体

1:当拖放到一个有物品的方格中,交换两个物品

2:当拖放到一个空物品的方格中(判断是不是原有的物品栏,true则重置物品位置,false则将物品放入新物品栏并将原来的清除)

        }

else //没有触碰到

{

//重置位置

}

}

在这里注意一下,不要在这个类里使用Start()方法,如果要使用,则在Start()方法中调用基类的base.Start()。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: