为Web编译¶
要求¶
要为Web编译导出模板,需要执行以下操作:
Emscripten 1.38.27+: If the version available per package manager is not recent enough, the best alternative is to install using the Emscripten SDK
SCons 构建系统
参见
有关godot的scons用法的概述,请参阅 建筑系统简介 .
生成导出模板¶
启动之前,请确认emscripten配置文件存在,并正确指定所有设置。此文件可用为 ~/.emscripten
在类Unix系统和 %USERPROFILE%\.emscripten
在窗户上。它通常由emscripten sdk编写,例如在调用 emsdk activate latest
或者由您的包管理器。它也是在启动Emscripten时创建的 emcc
如果文件不存在,则编程。
注意
在Windows上,确保将emscripten配置文件中的路径反斜杠作为双反斜杠转义。 \\
或者使用带有一个正斜杠的Unix风格路径 /
.
打开终端并导航到引擎源代码的根目录。然后指示scons构建javascript平台。指定 target
或者 release
对于发布版本或 release_debug
对于调试生成:
scons platform=javascript tools=no target=release
scons platform=javascript tools=no target=release_debug
默认情况下, JavaScript singleton 将内置在引擎中。自从 eval()
呼叫可能是一个安全问题, javascript_eval
选项可用于在没有singleton的情况下生成:
scons platform=javascript tools=no target=release javascript_eval=no
scons platform=javascript tools=no target=release_debug javascript_eval=no
引擎现在将由emscripten编译到Webassembly。完成后,结果文件将放置在 bin
子目录。它的名字是 godot.javascript.opt.zip
释放或 godot.javascript.opt.debug.zip
用于调试。
最后,将zip存档重命名为 webassembly_release.zip
对于发布模板:
mv bin/godot.javascript.opt.zip bin/webassembly_release.zip
和 webassembly_debug.zip
对于调试模板:
mv bin/godot.javascript.opt.debug.zip bin/webassembly_debug.zip
根据asm.js翻译或llvm后端构建¶
Webassembly可以通过两种方式编译:默认情况下,首先使用emscripten的 快速比较 LLVM的分叉。然后使用名为 asm2wasm
. emscripten自动处理这两个进程,我们只运行scon。
另一个方法使用llvm的Webassembly后端。此后端从llvm 8或开发版本开始可用。emscripten也管理这个过程,所以我们只调用scon。
为了选择这两种方法中的一种, LLVM_ROOT
使用了emscripten配置文件中的变量。如果它指向一个包含emscripten的二进制文件的目录 快速比较 叉子的叮当声, asm2wasm
使用。这是常规emscripten安装中的默认设置。否则,将需要使用使用Webassembly后端构建的llvm二进制文件,并使用llvm的Webassembly后端。