• 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,就知道

  • 相关阅读:
    qq
    构造方法
    Java模块化开发
    q
    qqq
    qq
    qqq
    Git服务器搭建及SSH无密码登录设置
    php面向对象中的魔术方法中文说明
    计算机中丢失 msvcr110.dll 怎么办
  • 原文地址:https://www.cnblogs.com/May-day/p/8604473.html
Copyright © 2020-2023  润新知