分享一个自己做的 Cocos Creator 配置表转换插件
最近在整理 Cocos Creator 的游戏开发工具时,做了一个配置表转换插件,叫做 游戏配置表生成器 Pro。
主要解决一个比较常见的问题:如何把 Excel / CSV 配置表转换成 JSON,同时生成对应的 TypeScript interface?
目前插件已经在 Cocos Creator 3.8.8 环境下完成测试,并上架 Cocos Store。
在这里分享一下实现思路和实际功能,也想听听大家对游戏配置表处理流程的建议。
一、为什么做这个工具?
开发游戏时,经常会遇到各种配置表,例如:
- 道具表:ID、名称、价格、描述
- 角色表:ID、生命值、攻击力、防御力
- 装备表:ID、品质、等级、属性
- 技能表:ID、伤害、冷却时间、技能说明
- 关卡表:ID、难度、奖励、解锁条件
用 Excel 维护这些数据比较直观,但真正放进游戏项目时,通常还要处理 JSON 转换和 TypeScript 类型定义。
如果配置表比较多,重复转换、检查字段类型和维护接口就会比较麻烦。
当然,可以自己写 Python / Node.js 脚本,或者使用已有的导表工具。
我这次主要想做一个操作直观、适合独立开发者和小型项目的 Cocos Creator 编辑器插件,把常用流程集中在一个界面中。
二、配置表转换时,有几个容易忽略的问题
1. 编号不一定是数字
例如道具表中有这样的数据:
| id | name | price |
|---|---|---|
| 001 | 生命药水 | 50 |
| 002 | 魔法药水 | 80 |
如果把 id 直接当成数字处理,001 就可能变成 1。
所以转换时不能只看数据是否由数字组成,还需要考虑字段的实际用途。
对于这种编号,更适合设置为 string,而价格则可以设置为 number。
2. 空单元格会影响类型定义
例如某个数字字段允许留空。
如果 JSON 中保留空字符串,那么对应的 TypeScript 字段就不能简单定义为 number。
一种处理方式是使用 number | "" 联合类型,使类型定义能够反映实际数据情况。
这个插件也针对数字和布尔字段中的空单元格进行了相应处理。
3. 批量转换时需要防止覆盖文件
当多个配置表输出到同一个目录时,可能出现同名文件。
如果直接覆盖,原来的文件就可能丢失。
因此,我在批量转换中加入了已有文件检查:检测到输出冲突时,会给出提示,不会直接覆盖已有文件。
三、目前插件实现了哪些功能?
1. CSV / Excel 导入
- 支持 UTF-8 CSV 和 Excel
.xlsx文件。 - 支持 Excel 多工作表切换。
- 可以预览导入后的原始数据。
- 支持中文文本和空单元格等常见数据情况。
【配图 1:CSV / Excel 导入与原始数据预览的真实截图】
2. 手动配置字段类型
支持以下类型:
stringnumberboolean
字段类型设置可以保存在当前项目的本地配置中,重新处理对应配置表时能够减少重复设置。
这里没有做成完全自动推断类型,因为像 001 这样的编号,需要由开发者根据业务含义决定使用什么类型。
3. 同时生成 JSON 和 TypeScript
根据配置表内容及字段类型,可以生成:
- JSON 数据文件
- TypeScript interface
同时支持自定义 Interface 名称。
这样在维护配置表数据时,可以一并更新对应的类型定义,减少手动编写接口的工作。
【配图 2:JSON 数据文件与 TypeScript interface 真实生成结果】
4. 多文件批量转换
支持一次处理多个 CSV / Excel 文件,以及 Excel 中的多个工作表。
可以设置各表的输出文件名称和 Interface 名称,并选择需要生成的文件类型。
转换前可以检查输出清单,转换后可以查看成功、失败及文件写入情况。
【配图 3:批量转换 4 张配置表、生成 8 个文件的真实截图】
5. 输出冲突检查
在批量转换前,插件会检查目标目录中是否已经存在同名文件。
检测到冲突时,会显示相关提示,避免直接覆盖原有文件。
对于需要反复更新配置表的项目,这个功能会比较实用。
四、适合什么样的开发者?
我觉得比较适合以下场景:
- 用 Cocos Creator 做独立游戏。
- 配置表主要通过 Excel / CSV 维护。
- 项目中需要 JSON 数据与 TypeScript 类型定义。
- 不想为了常规导表流程单独维护转换脚本。
- 希望通过图形界面完成多个配置表的批量转换。
如果项目已经有比较成熟的自动化导表系统,可能就不需要另外使用这款工具。
它的定位不是替代所有数据处理方案,而是提供一种相对轻量、直观的配置表转换方式。
五、插件下载与使用说明
插件名称: 游戏配置表生成器 Pro
适用环境: Cocos Creator 3.8.8(已测试版本)
价格: ¥15
Cocos Store 商品链接:
【请在这里粘贴商品的公开购买链接】
商品页面中附有真实功能截图、使用说明、兼容性信息及联系方式。
其他 Cocos Creator 版本暂未完成兼容性验证,购买前请注意确认。
六、想听听大家的建议
这是我自己开发并上架的一款小工具,目前还在收集实际使用反馈。
比较想了解几个问题:
- 大家平时是用 Python / Node.js 脚本导表,还是使用现成的 Creator 插件?
- 你们的项目更常用 JSON、TypeScript,还是其他数据格式?
- 你觉得配置表工具最重要的是批量处理、数据校验、类型生成,还是其他功能?
欢迎在评论区交流实际的开发工作流。如果大家有比较典型的需求或使用建议,我也会认真参考。
希望这个小工具能给正在使用 Cocos Creator 的开发者提供一点帮助。