一个背包系统

本教程介绍了如何在Unity中创建一个背包系统。首先,从提供的素材开始,通过导入必要的资源并设置面板。接着,制作横幅和Use按钮,添加文本,并实现关闭按钮功能。然后,讲解了数据存储的实现,包括武器和物品的储存方式。通过创建和挂载不同的脚本,如ItemOnWorld、ItemOnDrag、Slot和InventoryManager,逐步构建出完整的背包功能。完成后的背包系统可用于游戏中的物品管理和交互。最后,提供了完整的项目素材供下载参考。
摘要由CSDN通过智能技术生成

首先第一步导入咋们这节课所需要的素材;
演示项目下载地址:
链接: https://pan.baidu.com/s/1o7_RW_QQ1rrAbDzT69ApRw 提取码: 8s95
在这里插入图片描述
打开后素材就是这样,素材里的人物可以移动;
然后在素材中找到这几个图,导入场景
首先右键一个panel,然后把inventory
在这里插入图片描述
然后现在把背包上的横幅和use给做出来

在这里插入图片描述
横幅和button上添加一个text,把我们需要添加的写上去
在这里插入图片描述
然后把关闭按钮和一个文本框添加到背包上面。
在这里插入图片描述
然后在CloseBtn上添加这个在这里插入图片描述
接下来把那个数据的储存写进去。

using System.Collections;
using System.Collections.Generic;
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 Equp;
}

这是武器的储存
在这里插入图片描述
右键点击Inventory和new item这样就创建出来储存武器的了
在这里插入图片描述
在这里插入图片描述
背包的储存和上面武器的方法一样
背包的代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[CreateAssetMenu(fileName = "New Item", menuName = "Inventory/New Inventory")]
public class Inventory : ScriptableObject {
   
    
    public List<Item> itemList = new List<Item>();

}

创建ItemOnworld脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ItemOnworld : MonoBehaviour {
   


    public Item thisItem;
    public Inventory playerInventory;

    private void OnTriggerEnter2D(Collider2D other)
    {
   
        if (other.gameObject.CompareTag("Player"))
        {
   
            AddNewItem();
            Destroy(gameObject);
        }
    }


    public void AddNewItem()
    {
   
        if (!playerInventory.itemList.Contains(thisItem))
        {
   
            //playerInventory.itemList.Add(thisItem);
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值