项目02《游戏-06-开发》Unity3D

本文介绍了在Unity3D项目中如何实现背包系统的存储框架,区分了静态数据如武器名称和动态数据如数量的变化。使用了ScriptableObject和JSON进行配置,同时展示了如何通过脚本创建和读取静态与动态数据,以及使用GMCmd菜单进行数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于      项目02《游戏-05-开发》Unity3D      ,

接下来做   背包系统的   存储框架 ,

首先了解静态数据 与 动态数据,静态代表不变的数据,比如下图武器Icon,

其中,武器的名称,描述,图标,星级,详细技能描述都是不变的,称为静态数据,

而动态数据 会随着游戏进度的改变而发生改变,

其中,武器的等级,数量,是否拥有武器等这些都是可变的,成为动态数据,

对于静态数据的配置,有两种比较常用的方案,

第一种是使用Excel表格进行配置,

第二种是使用unity内置的【Scripper object】进行配置,

其中使用Ecel表格的可视化会更强大,适用于多人协作,缺点是步骤比较繁琐,需要多一步导出操作,

因此我们使用【Scripper object】进行配置,

对于动态数据的配置,也有两种方法,

第一种是存储在服务器上,登陆的时候从服务器拉取数据,

第二种是存储在本地,登陆的时候从文本文件中去读取当前的进度,

这两种最大的区别是一个记录在远程的机器上,一个记录在本地的机器上,

也就是网游和单机的区别,

本次我们使用第二种方案【JSON】

首先我们进行静态数据的配置,

创建背包表格PackageTable.cs脚本,功能是使用右键在unity编辑器中创建一个自定义配置文件,

可以传入两个参数,一个是菜单名称,另一个是创建后文件的名称,

双击PackageTable.cs修改脚本:

using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(menuName = "Water/PackageTable",fileName = "PackageTable")]
public class PackageTable : ScriptableObject{
    public List<PackageTableItem> dataList =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值