![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
背包系统
文章平均质量分 62
DAGUNIANGZHOU
保持热爱,奔赴山海
展开
-
【背包系统】使用PlayerPrefs实现数据持久化存储(完结)
在Inventory中写入数据的存储和读取的方法: 存储数据时使用StringBuilder(using System.Text)的原因:→在程序开发过程中,我们常常碰到字符串连接的情况,方便和直接的方式是通过"+"符号来实现,但是这种方式达到目的的效率比较低,且每执行一次都会创建一个String对象,即耗时,又浪费空间。使用StringBuilder类就可以避免这种问题的发生 存储的方法:通过StringBuilder的Append()方法存储 slots数组中每个slot子物体ItemUI的ID原创 2022-05-27 17:03:36 · 229 阅读 · 0 评论 -
【背包系统】六.商店
效果:左边是背包,右边是商店 先创建一个商店,并添加脚本ShopPanel,并将子物体的Slot脚本替换为ShopSlot,继承自Slot: 再创建一个金币,在Player中对金钱进行管理,并声明获取和花费金钱的方法: public class Player : MonoBehaviour { private Text moneyText; private int money = 100; void Start() { moneyText = Game..原创 2022-05-26 18:28:59 · 156 阅读 · 0 评论 -
[背包系统]五.箱子类
将背包复制一份,并修改Height,作为箱子单例类: using System.Collections; using System.Collections.Generic; using UnityEngine; public class ChestPanel : Inventory { private static ChestPanel _Instance; public static ChestPanel Instance { get {原创 2022-05-26 15:44:25 · 76 阅读 · 0 评论 -
【背包系统】四.物品的点击拾取与交换
效果: 将ItemUI移动至Canvas下,改名为PickedItem, 在InventoryManager中声明PickedItem,将其作为鼠标选中的物体, public ItemUI PickedItem { get; set; } 在InventoryManager的Start中调用PickedItem的Hide方法将其在开始时隐藏 PickedItem = GameObject.Find("PickedItem").GetComponent<Ite...原创 2022-05-26 15:24:40 · 213 阅读 · 0 评论 -
【背包系统】三.完善提示信息显示
效果: 完善Json [ { "id":1, "name":"血瓶", "type":"Consumable", "quality": "Common", "description":"这个是用来加血的", "capacity":10, "buyPrice":10, "sellPric原创 2022-05-25 17:07:52 · 186 阅读 · 0 评论 -
【背包系统】二.物品提示框显示与跟随
效果: UI创建Text下面创建Image和Text,将ToolTip的中心点移至左上角,再ToolTip添加Content Size Fitter组件,H和V调为V Size,如图 给ToolTip添加脚本和CanvasGroup组件,控制其隐藏和显示: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using...原创 2022-05-25 15:20:26 · 161 阅读 · 0 评论 -
【背包系统】一.物品生成
json文件 [ { "id":1, "name":"血瓶", "type":"Consumable", "quality": "Common", "description":"这个是用来加血的", "capacity":10, "buyPrice":10, "sellPrice":...原创 2022-05-24 18:35:45 · 240 阅读 · 0 评论