一、为什么要使用配置文件
我们在开发游戏的过程中难免遇到大量的数据,并且很多数据程序员并不关心。
如果把这些数据放到代码文件中使用会有诸多不便,例如只是更改了数据就需要重新编译打包发包,这显然已经无法忍受了。
再者,将数据作为资源使用就会方便很多,但是如果直接修改数据文件也会有一些问题,例如维护容易出错,所以我们借助数据表配置数据,使用数据表的强大功能,再通过工具导出我们希望的格式使用也就成为了最佳方案。
使用数据表还可以统一处理语言文本,做到快速上架海外渠道,导出文本供bmfont工具使用等,总之是好处多多了。
二、表头信息说明
这里主要分两部分说明:
一是整体说明,我们用文件中的第一个sheet作为整体说明,此sheet只有一列数据;第二行开始标识之后每个sheet导出时使用的名字,拼音或者英文都可。
值得说明的是,第一行如果填了内容说明此后所有sheet中的数据将导出到一个文件中,文件名为第一行的内容,这样可以降低加载文件时的请求次数。如果第一行没有内容,则每个sheet将单独导出为一个文件。
前四行为说明,之后为数据。
第一行为每列数据的注释,说明这列数据的用途。
第二行为此列数据的程序中使用的名字
第三列为此列数据的类型。
目前支持的数据类型为
i整型
f浮点型
s字符串
lang 多语言类型,如何使用会单独介绍
index 索引类型 目前只支持一个sheet有一个index列。
[]一维数组 例如[i]整型一维数组 用逗号分隔
[[]]二维数组 例如[[f]]浮点型二维数组 用|竖线分隔
null 次类型表示此列数据不导出,仅用于说明。
第四行为前后端标识,预留:
s表示服务器
c表示客户端
sc表示前后端都要用到
三、工具使用说明
1、安装
nodejs
2、运行
修改tools\xlsx目录下build.bat文件中的project_path的路径 双击运行即可。
3、工具目录说明
工具支持分模块或者大厅子游戏模式,由于小游戏不需要这些需求所以只使用了一个game模块存放配置表文件。
导出文件在export目录下,有需要用到的json文件,也有ts枚举文件,需要分别放到项目中适合的位置。
4、导出json格式
但是为了节省资源缩减文件大小,这里的数据只使用数组形式,并使用枚举来获取对应的数据。
四、如何使用导出的数据
根据导出数据格式首先需要两个类来管理数据表导出的数据,在tools\config目录下
XlsxData类用于管理数据表中每一个sheet。
XlsxDtaManager用于管理所有的XlsxData类。
五、工具源码获得方式
关注公众号,输入关键词"数据表"获得码云地址。