如何快速做一个简单的背包系统

本文转自Unity Connect博主 Michael Wang

用ScriptableObject来作为我们的数据存储,画上UI你就拥有你自己的背包啦!

现在虽然有很多的 Inventory System 的插件可以直接使用,但是如果能了解和明白背后的逻辑和代码的实现方法,就可以创建属于自己的背包系统了。也可以额外扩展很多功能。所以快来一起动手做一个吧~

所有素材均使用 Asset Store 中的免费素材哦~
在这里插入图片描述
这里主要介绍一个重要的知识点,我们的主角:ScriptableObject

我们创建一个代码,目的:用来作为物品的模版,存储物品的基本属性,并且创建了一个物品后要保存在我们的游戏文件夹当中,作为我们的物品数据库。

所以我们替换掉 MonoBehaviour 使用 ScriptableObject。如果你在官网的手册当中搜索 ScriptableObject 的话会看到很具体的解释,它的一个优点就是不需要挂在任何 GameObject 上才能使用。我们动手写一下就知道啦~

public class Item : ScriptableObject
{
    public string itemName;
    public Sprite itemImage;
    public int itemHeld;
    [TextArea]
    public string itemInfo;

    public bool equip;
}

上面的这行代码是为了创建我们的模版的基本框架,物品名称,图片,属性等等。有了这些后接下来就可以实际生成这个模版来创建我们的物品了,这时候要配合使用:[CreateAssetMenu]

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;
}

CreateAssetMenu 可以在我们的 Unity 编辑器的邮件菜单中生成我们需要的选项,并且创建文件后的名字就是 fileName=“文件名”。

在这里插入图片描述
这是 menuName = "Inventory/New Item" 得到的结果
在这里插入图片描述
这是 fileName = "New Item" 得到的结果

上面的图片我们可以看到,这个物品没有挂载任何的 C# 脚本,但是我们可以看到之前代码里写过的变量。这样就成功创建了我们的物品数据库&物品模版了!

其实 ScriptableObject 的用法还有很多,可以用来做人物的模版,Boss的模版。各种数据存储的使用。请大家发挥你的想象来实现各种功能吧~

原文链接:https://connect.unity.com/p/kuai-su-zuo-yi-ge-jian-dan-de-bei-bao-xi-tong?app=true

戳上方链接下载官方app,在线技术答疑,更多干货等你来发现!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值