Unity2021 Inventory(背包)系统学习记录

本文记录了在Unity2021中学习和实现背包系统的详细过程,包括UI布局、ScriptableObject数据存储、InventoryManager控制显示、Slot预制体设定、物品拖拽、Player组件设置等关键步骤。通过实践,成功实现物品拾取、显示、移动和交换功能。
摘要由CSDN通过智能技术生成

Unity2021 Inventory(背包)系统学习记录

最近学习了Unity背包系统设计的基本设计。学习资料主要参考了B站up主:M_Studio的教学视频。学习完后,在Assets Store上重新下载了一套GUI对学习到的知识进行了一次复盘。现在,对复盘的过程进行一次记录。这个背包系统主要实现了基本的背包功能,Player(玩家)在场景中拾取得到物品,然后物品能够在背包上出现,背包中的物品也能够进行移动以及交换位置。

​ 使用的资源都是在Asset Store上下载得到的免费资源,本次使用的UI主要是GUI_Parts、Simple Fantasy GUI、Tiny RPG Forest。

1. 设置UI

  • 在场景中按照以下父子关系的顺序,创建UI。

在这里插入图片描述

  • 然后,对UI组件对象进行重新命名。

在这里插入图片描述

  • 把Slot设置为预制体,Slot表示一个装备栏,装备栏里有对应的游戏物品,这个装备栏显示的是物品的图片和物品的数量。

  • 设置好Slot预制体后,可以在游戏场景中删除Slot的UI对象。

在这里插入图片描述

  • UI的图片可以按照自己的喜好设置,这里需要注意的是Grid对象需要添加一个Grid Layout Group组件,使Grid做成网格布局。

在这里插入图片描述

  • 通过上述的UI组件设置,其在场景中生成的效果如下图所示。

在这里插入图片描述

2.设置ScriptableObject

ScriptableObject可以把数据存储在资源文件中,当退出运行时也一样会保持修改。这里把物品和背包设置成ScriptableObject对象。

  • 新建一个C#脚本Item.cs,用于创建物体的ScriptableObject对象。

    using UnityEngine;
    
    [CreateAssetMenu(fileName = "New Item", menuName = "Inventory/New Item")]//右键菜单快速创建
    public class Item : ScriptableObject
    {
        public string itemName;//设置物品的名称
        public Sprite itemImage;//设置物品的图片
        public int itemHeld;//设置物品的数量
        [TextArea]
        public string itemInfo;//设置物品的描述
    
        public bool equip;//设置物品可否装备
    }
    

在这里插入图片描述

  • 新建一个C#脚本Inventory.cs,用于创建背包的ScriptableObject对象。
using System.Collections.Ge
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值