HTML5 shell class reference
Projects exported for the Web expose the Engine
class to the JavaScript environment, that allows fine control over the engine’s start-up process.
This API is built in an asynchronous manner and requires basic understanding of Promises.
Engine
The Engine
class provides methods for loading and starting exported projects on the Web. For default export settings, this is already part of the exported HTML page. To understand practical use of the Engine
class, see Custom HTML page for Web export.
Static Methods
Promise | Engine.load ( string basePath ) |
void | Engine.unload ( ) |
boolean | Engine.isWebGLAvailable ( [ number majorVersion=1 ] ) |
void | Engine.setWebAssemblyFilenameExtension ( string extension ) |
Instance Properties
Emscripten Module | engine.rtenv |
实例方法
Engine | Engine ( ) |
Promise | engine.init ( [ string basePath ] ) |
Promise | engine.preloadFile ( string|ArrayBuffer file [, string path ] ) |
Promise | engine.start ( [ string arg1, string arg2, … ] ) |
Promise | engine.startGame ( string execName, string mainPack ) |
void | engine.setUnloadAfterInit ( boolean enabled ) |
void | engine.setCanvas ( HTMLCanvasElement canvasElem ) |
void | engine.setCanvasResizedOnStart ( boolean enabled ) |
void | engine.setLocale ( string locale ) |
void | engine.setExecutableName ( string execName ) |
void | engine.setProgressFunc ( function callback ) |
void | engine.setStdoutFunc ( function callback ) |
void | engine.setStderrFunc ( function callback ) |
Static Method Descriptions
Engine.``load
(basePath)
Load the engine from the specified base path.
参数: |
|
---|---|
返回: | 当引擎加载时承诺解决。 |
Engine.``unload
()
卸载引擎以释放内存。
This method is called automatically once the engine is started unless explicitly disabled using engine.setUnloadAfterInit()
.
Engine.``isWebGLAvailable
([majorVersion = 1])
Check whether WebGL is available. Optionally, specify a particular version of WebGL to check for.
参数: |
|
---|---|
返回: | 如果WebGL的主要版本可用,则为真,否则为假。 |
Engine.``setWebAssemblyFilenameExtension
(extension)
Set an alternative filename extension for the WebAssembly module. By default it is assumed to be wasm
.
参数: |
|
---|
实例属性描述
engine.``rtenv
The runtime environment provided by Emscripten’s Module
. For more information refer to the official documentation on Emscripten.
Instance Method Descriptions
class Engine
()
Create a new instance of the Engine
class.
engine.``init
([basePath])
Initialize the engine instance. Optionally, pass the base path to the engine to load it, if it hasn’t been loaded yet. See Engine.load()
.
参数: |
|
---|---|
返回: | 承诺一旦加载并初始化引擎就会解析。 |
engine.``preloadFile
(file[, path])
Load a file so it is available in the instance’s file system once it runs. Must be called before starting the instance.
参数: |
|
---|---|
返回: | Promise that resolves once the file is loaded. |
engine.``start
([arg1, arg2, …])
Start the instance of the engine, using the passed strings as command line arguments. engine.startGame()
can be used in typical cases instead.
This will initialize the instance if it is not initialized. For manual initialization, see engine.init()
. The engine must be loaded beforehand.
Fails if a canvas cannot be found on the page.
参数: |
|
---|---|
返回: | 引擎启动后解析的承诺。 |
engine.``startGame
(execName, mainPack)
Start the game instance using the given executable URL and main pack URL.
This will initialize the instance if it is not initialized. For manual initialization, see engine.init()
.
This will load the engine if it is not loaded. The base path of the executable URL will be used as the engine base path.
参数: |
|
---|---|
返回: | 当游戏启动后承诺解析。 |
engine.``setUnloadAfterInit
(enabled)
Specify whether the engine will be unloaded automatically after the instance is initialized. Enabled by default.
参数: |
|
---|
engine.``setCanvas
(canvasElem)
Specify a canvas HTML element to use. By default, the first canvas element on the page is used for rendering.
参数: |
|
---|
engine.``setCanvasResizedOnStart
(enabled)
Specifies whether the canvas will be resized to the width and height specified in the project settings on start. Enabled by default.
参数: |
|
---|
engine.``setLocale
(locale)
Specify a language code to select the proper localization for the game.
参见
Complete list of supported locales.
参数: |
|
---|
engine.``setExecutableName
(execName)
Specify the virtual filename of the executable. By default, the base name of the loaded engine files is used.
This affects the output of OS.get_executable_path() and sets the automatically started main pack to *ExecutableName*.pck
.
参数: |
|
---|
engine.``setProgressFunc
(callback)
Specify a callback function for displaying download progress. The callback function is called once per frame, so that the usage of requestAnimationFrame()
is not necessary.
If the callback function receives a total amount of bytes as 0, this means that it is impossible to calculate. Possible reasons include:
- 文件随服务器端分块压缩一起提供
- 文件在Chromium上通过服务器端压缩提供
- 并非所有文件下载都已开始(通常在没有多线程的服务器上)
参数: |
|
---|
engine.``setStdoutFunc
(callback)
Specify a callback function for handling the standard output stream. This method should usually only be used in debug pages. By default, console.log()
is used.
参数: |
|
---|
engine.``setStderrFunc
(callback)
Specify a callback function for handling the standard error stream. This method should usually only be used in debug pages. By default, console.warn()
is used.
参数: |
|
---|