Unity游戏存档 (将游戏数据储存至本地文档)
在Unity中 添加本地文档储存游戏数据
首先我们应该在Unity中创建一个C#脚本,将其命名为Inventory
脚本不用挂在任何物体上,只需要在命名空间之前写一句代码,如下:
代码写好之后保存,在Unity的文件栏中右键就会发现,创建文件夹上方多了一个Inventory,就是我们代码中的menuName ,而创建出来之后,文档的名字就是 NewItem,也就是我们的 fileName。
如果需要在文档中存数据,那就需要再代码中加东西,存什么类型的数据,就加什么类型的变量。
如下:
我们新建一个Item脚本,创建新的NewItem(物品) 将 Item 储存在NewInventory(背包)中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; //这里我们重新创建一个文档,NewItem用作储存物品信息,刚刚的 NewInventory 储存背包信息。 [CreateAssetMenu(fileName = "New Item" ,menuName = "Inventory/New Item" )] public class Item : ScriptableObject { public string itemName; //物品名字 public Sprite itemImage; //物品图片 public int itemHeld; //物品数量 public string itemInfo; //物品介绍 // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } |
在 Inventory 中创建一个列表,储存数据,每一条数据都是一个Item
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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>(); // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } |
这样点击创建出来的NewItem 和 NewInventory 就会发现里面有数据可以改变了。
用这种方法创建出来的文档可以使数据储存在本地中,在Unity中运行游戏,通过捡拾物品改变里面的值,第二次运行之后不会清零。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!