NGUI之背包系统(1)

这篇博客介绍了如何在Unity中使用NGUI构建背包系统,详细阐述了背包物品移动的步骤,包括创建格子、添加Collider、实现拖放居中等功能。适合Unity初学者和进阶者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎来到unity学习unity培训
这里有很多U3D资源U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌



NGUI之背包系统(1)


    背包系统,就是该RPG游戏中必须用到的存放装备和技能东西,失去这个系统,那么RPG游戏也就失去了意义,


背包物品移动的步骤:

    1、创建一个Sprite作为背景,创建一个Sprite作为背景的子对象,并把它设为预设体。

    2、分别拖放8个格子预设体拖放到场景中,排成3行3列,并更其改名称。

    3、为第一个格子创建一个子对象作为背包的物品,把它设为预设体,并更改其名称。

    4、为格子添加Box Collider,为背包添加Box Collider

    5、为物品添加脚本实现把物品拖放到任意格子里面都是居中的。





代码如下:



    //必须继承UIDragDropItem
    public class KnapsackItem :UIDragDropItem  
    {
        protected override void OnDragDropRelease(GameObject surface)
        {
            //重写OnDragDropRelease方法
           //调用父类的OnDragDropRelease(surface)方法

           base.OnDragDropRelease(surface);
           if(surface != null) //判断降入移动到的地方是否符合存放该对象的条件(就是判断是否在预设的那几个物品栏里)
           {
                //把物品放入格子里面
                 this.transform.parent =surface.transform;
                //把物品居中
                this.transform.localPosition =Vector3.zero;
            }
           else //不在物品栏的话回到本来位置
           {
                 //把物品放回本来的格子里面
                 this.transform.parent = this.transform.parent;
                //把物品居中
                 this.transform.localPosition = Vector3.zero;
           }
        }
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值