提示:以下是本篇文章正文内容
简单说明
利用ScriptableObject自定义资源脚本保存数据
背包系统素材
- 场景
2. GUI
3. Gear
UI简单创建
1、 创建Panel
2、Panel嵌套Img、button
效果:
3、Panel嵌套管理网格的的Img、舔加Grid Layout Group组件,使用组件调整网格布局
4、嵌套的网格Img再嵌套Img再嵌套Text
效果如下图所示:
同四嵌套的网格Img再嵌套Button再嵌套Text
实现数据的存储🔃
5.创建Item储存数据脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
[CreateAssetMenu(fileName = "Item", menuName = "Item")]
public class Item : ScriptableObject
{
[Header("装备图片")]
public Sprite ItemSprite;
[Header("装备名字")]
public string ItemName;
[Header("装备数量")]
public int ItemCount;
[Header("装备详细")]
[TextArea]
public string ItemInfo;
[Header("装备")]
public bool Equip;
}
👇👇👇👇👇👇
7、.创建数据管理器
8、使用List创建储存数据背包系统
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "InventoryScript", menuName = "InventoryScript")]
public class Inventory : ScriptableObject
{
//创建背包系统:列表
public List<Item> ItemList = new List<Item>();
}
9、.创建WorldEquip(世界中的准备):脚本
using UnityEngine;
public class WorldEquip : MonoBehaviour
{
public Item item;
public Inventory inventory;
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("Player"))
{
if (!inventory.ItemList.Contains(item))
{
inventory.ItemList.Add(item);
}
else
{
item.ItemCount++;
}
捡到物品生成相应的物品
InvensoryManager.UpdateEquipState(); 👇👇👇
}
}
}
流程: