Godot如何添加代码导出模板

How can Godot add Code to Export Templates

我发现 Godot 引擎令人印象深刻的一个特性是它如此轻巧且编译速度如此之快。我意识到 Godot 使用其预编译的导出模板进行导出,但我对它的操作方式感到困惑。我在 macOS 上工作,所以这主要是我好奇的地方。 Godot 如何将代码添加到预编译的可执行文件中。我花了几个小时查看源代码,但无法弄明白。

Godot 的导出模板是使用一组特定 SCons 选项的编译二进制文件。它们始终使用禁用编辑器功能的 tools=no 构建,官方导出模板使用 target=release_debugtarget=release 优化(分别用于调试和发布导出模板)。

请注意,Godot 在导出项目时不会编译本机代码——它只是将数据、脚本和导出模板捆绑在一起。游戏数据和脚本被打包成一个 PCK 文件,这是一种自定义的存档格式,可以存储任意文件(不压缩)。导出模板然后运行 ​​PCK 文件中包含的主脚本。

在发布模式下导出项目时,脚本会被编译为字节码,这会加快加载速度,但不会影响脚本执行速度。

有关为 macOS 编译二进制文件的信息,请参见this page