pip install gd_excelexporter
或者直接去右边release里下载已经打包好的可执行文件(ee.exe,你需要将这个exe加到环境变量)。
创建配置表项目
打开你的Godot游戏项目,项目根目录下右键打开命令行(此处打开powershell)
sample —— 里面有excel示例表格
export.toml —— 导出配置,定义了ee
要怎么导出
gen_all.bat —— 里面就一行代码ee gen-all
,主要用于快速导出所有表格不用打开命令行
gen_pot.bat —— 提取整个项目多语言文本(将来补充教程)
尝试配置并导出你第一份数据文件
在游戏中读取
首先你需要将Setting\dist\settings.gd
添加到项目autoload
。
通过查看settings.gd
你就知道这个文件是用来统一管理数据源的。这样你就不需要每次想读取数据的时候又要加载数据和解析。
然后你就可以像下面一样读取数据
由于篇幅有限,我无法一一讲解所有的细节。所以剩下的希望您自己去探索。
ee
对表格的格式有严格要求,因此我给您留了个sample
文件夹,里面有个示例.xlsx
模板。
当您要建立新表格的时候可以拷贝这个模板去建立。
sample
目录下的示例.xlsx
表格里已经把ee
能支持的所有字段类型都演示了一遍,自行参考。
ee
将excel文件当作文件夹,其中sheet才是数据表,因此导出的时候是 示例\demo.gd
这样存放。
sheet名如果以~
开头,ee
会忽略不导出。
字段名如果以*
开头,ee
也会忽略不导出。
这样你可以在表格里留一些注释用的内容。
GDExcelExporter支持将Excel表导出成几种不同格式的数据文件。
每种格式数据文件在特性、性能和使用上有所差异。
篇幅有限,快速开始只演示了GDS2.0导出器导出来的数据文件和用法。
其他的导出器需要您自己去尝试。
导出器方案
导出器ID
导出器名称
Godot 3.x
Godot 4.x
支持代码配置
下面一一介绍这些导出器区别
GDS1.0 和 GDS2.0
这两个导出器是将Excel表格导出成GodotScript脚本类,这个类有个data字典变量,该变量里写满了表格里的数据。
# GDS1.0
extends Reference
var None = null
var False = false
var True = true
var data = \
{1: {'array': [1, 2, 3, 4, 5], 'array_bool': [True, False], 'function': funcref(self,'function_1')...
static func function_1(args=[]):
print(args)
# GDS2.0
extends RefCounted
var None = null
var False = false
var True = true
var data = \
{1: {'array': [1, 2, 3, 4, 5], 'array_bool': [True, False], 'function': Callable(self,'function_1')...
static func function_1(args=[]):
print(args)
用GodotScript作为数据源的优点:
GodotScript脚本除了是源码外,它也是游戏资源,因此直接将数据写到脚本里当数据源可以省略读文件再解析这一步。
由于是GodotScripte脚本,因此编辑器也会发现其语法错误,也会在运行时准确发现数据的错误。
GodotScript脚本的加载速度十分的快,比用FileAccess打开要快很多倍。
用于是脚本,因此Excel表中可以配置代码,如上面例子。
GDS1.0和GDS2.0导出器区别不是很大,主要是GodotScript1.0和GodotScript2.0里 Reference和Funcref两个类改名成了RefCounted和Callable,因此分开实现了两个导出器。
RESOURCE
这个导出器是以Godot Resource文件作为数据源。
[gd_resource type="Resource" script_class="EEDataTable" load_steps=2 format=3]
[ext_resource type="Script" path="res://Setting/dist/ee_data_table.gd" id="1"]
[resource]
script = ExtResource("1")
data = {1: {"array": [1, 2, 3, 4, 5], "array_bool": [true, false], ...
跟GDS的方案来讲没有什么优势,不支持配置代码,读取效率也很慢。
JSON1.0 和 JSON2.0
用json文本文件作为数据源,跟其他方案比起来,其他方案因为是Godot的资源,因此读和解析是Godot一条龙处理的,而json文本就需要settings.gd
里写方法去读和解析。
json方案并没有什么优点,唯一的优点就是json文件打开来后是人类友好的,比较容易阅读的,其他格式都全生成到一行里了基本无法阅读。
"1": {
"id": 1,
"int": 1,
"float ": 1.0,
"string": "恭喜你!成功配置好了Godot导表项目。",
"bool": true,
"array": [
"array_str": [
"a",
"b",
"array_bool": [
true,
false
"dict": {
"name": "Tom",
"age": 10
"function": "print(args)"
},...
由于Godot4.0文件读写和JSON的接口发生变动,导致需要两个JSON导出器来分别对应Godot3.x和Godot4.x。
专用辅助插件
由于每次导表都要到settings
目录下操作太麻烦了,因此特地开发一个Godot插件
,让我们可以直接在Godot编辑器
中点击一个按钮进行导表。
Godot插件-GDExcelExporter-Plugin
希望这个工具能够给一些独立游戏人或者业余自娱自乐的人一些帮助。
如果你用上了我的工具,有什么问题最好直接提issue。
如果你在你的独立游戏项目中使用了我的工具,希望你能够在游戏结尾员工名单或者开源证书页面中特别鸣谢加上我的名字,让我也占个光,谢谢。
QQ群:118258918
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for gd_excelexporter-3.0.1-py3-none-any.whl
Hashes for gd_excelexporter-3.0.1-py3-none-any.whl
Algorithm
Hash digest
"PyPI", "Python Package Index", and the blocks logos are registered trademarks of the Python Software Foundation.
© 2024 Python Software Foundation
Site map