Work in progress

The content of this page was not yet updated for Godot 4.2 and may be outdated. If you know how to improve this page or you can confirm that it's up to date, feel free to open a pull request.

HTML5 shell 类参考

为 Web 导出的项目向 JavaScript 环境暴露了 Engine() 类,从而可以更好地控制引擎的启动过程。

这个API是以异步的方式建立的, 需要对 Promises 的基本理解.

引擎

Engine 类提供了在Web上加载和启动导出项目的方法. 对于默认的导出设置, 这已经是导出的HTML页面的一部分. 要了解 Engine 类的实际使用, 请参见 自定义Web导出的HTML 页面 .

静态方法

Promise

load ( string basePath )

void

unload ( )

boolean

isWebGLAvailable ( [ number majorVersion=1 ] )

实例方法

Promise

init ( [ string basePath ] )

Promise

preloadFile ( string|ArrayBuffer file [, string path ] )

Promise

start ( EngineConfig override )

Promise

startGame ( EngineConfig override )

void

copyToFS ( string path, ArrayBuffer buffer )

void

requestQuit ( )

class Engine(initConfig)

用给定的配置创建一个新的引擎实例.

参数

静态方法

Engine.load(basePath)

从指定的基本路径加载引擎.

参数
  • basePath (string()) -- 引擎加载的底层路径.

返回

一个一旦加载引擎就会解析的Promise.

返回类型

Promise

Engine.unload()

卸载引擎以释放内存.

该方法可以被配置为自动调用。请参阅 unloadAfterInit

Engine.isWebGLAvailable([majorVersion=1])

检查 WebGL 是否可用.(可选)指定要检查的特定 WebGL 版本.

参数
  • majorVersion (number()) -- 要检查的主要WebGL版本.

返回

如果给定的WebGL的主要版本是可用的.

返回类型

boolean

实例方法

Engine.prototype.init([basePath])

初始化引擎实例. 如果引擎还没有被加载, 可以选择将基本路径传递给引擎来加载它. 参见 Engine.load() .

参数
  • basePath (string()) -- 引擎加载的底层路径.

返回

一旦引擎被加载和初始化, 一个 Promise 就会被解析.

返回类型

Promise

Engine.prototype.preloadFile(file[, path])

加载一个文件, 这样一旦运行, 它就可以在实例的文件系统中使用. 必须在启动实例 之前 调用.

如果没有提供, path 是从加载文件的URL中导出的.

参数
  • file (string|ArrayBuffer()) -- 要预装的文件, 如果是一个 string , 文件将从该路径加载. 如果是一个 ArrayBuffer 或一个视图, 该缓冲区将被用作文件的内容.

  • path (string()) -- 用于访问文件的路径. 如果 file 不是一个字符串, 则为必需的.

返回

一个一旦文件被加载就会解析的Promise.

返回类型

Promise

Engine.prototype.start(override)

使用给定的覆盖配置(如果有的话)启动引擎实例. startGame 可以在典型情况下代替使用.

如果实例没有被初始化, 它将初始化它. 对于手动初始化, 请参阅 init . 引擎必须事先加载.

如果在页面上找不到画布, 或者没有在配置中指定, 则失败.

参数
返回

引擎启动后解析的Promise.

返回类型

Promise

Engine.prototype.startGame(override)

使用给定的配置覆盖(如果有的话)启动游戏实例.

如果实例没有被初始化, 将初始化它. 对于手动初始化, 见 init .

如果未加载引擎, 则将加载引擎, 并预加载主pck.

该方法将初始配置(或重写)时同时设置 executablemainPack 属性(通常由编辑器在导出过程中完成).

参数
返回

一旦游戏开始就会解析Promise.

返回类型

Promise

Engine.prototype.copyToFS(path, buffer)

在指定的 path 上创建一个文件, 在实例的文件系统中将通过该文件创建为 buffer .

参数
  • path (string()) -- 将创建文件的位置.

  • buffer (ArrayBuffer()) -- 文件的内容。

Engine.prototype.requestQuit()

请求退出当前实例。

这就类似用户在窗口管理器中按下关闭按钮, 如果引擎已经崩溃, 或者卡在循环中, 就不会有任何效果.

引擎配置

用于根据 Godot 导出选项配置引擎实例的对象, 如果需要, 可重写自定义 HTML 模板中的对象.

属性

类型

名称

boolean

unloadAfterInit

HTMLCanvasElement

canvas

字符串

executable

字符串

mainPack

字符串

locale

数字

canvasResizePolicy

Array.<string>

args

函数

onExecute

函数