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 的基本理解.
關於 Godot Engine¶
Engine
類提供了在Web上載入和啟動匯出專案的方法. 對於預設的匯出設定, 這已經是匯出的HTML頁面的一部分. 要瞭解 Engine
類的實際使用, 請參見 自訂Web匯出的HTML 頁面 .
靜態方法¶
Promise |
|
void |
|
boolean |
|
實例方法¶
Promise |
|
Promise |
|
Promise |
|
Promise |
|
void |
|
void |
|
- class Engine(initConfig)¶
用給定的配置建立一個新的引擎實例.
- 引數
initConfig (
EngineConfig()
) -- 此實例的初始配置.
靜態形體。
- Engine.load(basePath)¶
從指定的基本路徑載入引擎.
- 引數
basePath (
string()
) -- 引擎載入的底層路徑.
- 回傳
一個一旦載入引擎就會解析的Promise.
- 回傳型別
Promise
- Engine.unload()¶
解除安裝引擎以釋放記憶體.
接著會自動使用樣板建置,不需要進一步設定。
- 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
. 引擎必須事先載入.如果在頁面上找不到畫布, 或者沒有在配置中指定, 則失敗.
- 引數
override (
EngineConfig()
) -- 一個可選的配置重寫.
- 回傳
引擎啟動後解析的Promise.
- 回傳型別
Promise
- Engine.prototype.startGame(override)¶
使用給定的配置覆蓋(如果有的話)啟動遊戲實例.
如果實例沒有被初始化, 將初始化它. 對於手動初始化, 見
init
.如果未載入引擎, 則將載入引擎, 並預載入主pck.
該方法將初始配置(或重寫)時同時設定
executable
和mainPack
屬性(通常由編輯器在匯出過程中完成).- 引數
override (
EngineConfig()
) -- 一個可選的配置重寫.
- 回傳
一旦遊戲開始就會解析Promise.
- 回傳型別
Promise
- Engine.prototype.copyToFS(path, buffer)¶
在指定的
path
上建立一個檔, 在實例的檔案系統中將通過該檔建立為buffer
.- 引數
path (
string()
) -- 將建立檔的位置.buffer (
ArrayBuffer()
) -- 檔案的絕對路徑
- Engine.prototype.requestQuit()¶
參照目前的類別實體。
這就類似使用者在視窗管理器中按下關閉按鈕, 如果引擎已經當機, 或者卡在迴圈中, 就不會有任何效果.
程式碼樣式設定¶
用於根據 Godot 匯出選項配置引擎實例的物件, 如果需要, 可重寫自訂 HTML 範本中的物件.
屬性¶
type |
名稱 |
boolean |
|
HTMLCanvasElement |
|
字串 |
|
字串 |
|
字串 |
|
數字 |
|
字串 |
|
函式 |
|
函式 |
|
函式 |
|
函式 |
|
函式 |
- EngineConfig¶
引擎配置物件. 這只是一個型別, 像建立一個普通物件一樣建立它, 例如:
const MyConfig = { executable: 'godot', unloadAfterInit: false }
描述
- unloadAfterInit¶
在實例被初始化後, 是否自動解除安裝引擎.
- Type
boolean
- 值
true
- canvas¶
要使用的 HTML DOM Canvas 物件。
預設情況下, 如果沒有指定任何元素, 將使用文件中的第一個畫布元素.
- Type
HTMLCanvasElement
- 值
null
- executable¶
WASM 檔的名稱,不含副檔名。(由 Godot 編輯器的匯出過程設定)。
- Type
字串
- 值
""
- mainPack¶
要載入的遊戲pck的更換名稱. 否則使用可執行檔名.
- Type
字串
- 值
null
- locale¶
指定語言程式碼,為遊戲選擇合適的當地語系化。
如果沒有指定,將使用瀏覽器的區域設定。請參閱完整的:ref:`支援的區域設定 <doc_locales>`列表。
- Type
字串
- 值
null
- canvasResizePolicy¶
畫布大小調整策略決定 Godot 應當如何調整畫布的大小。
0
意味著 Godot 不做任何大小調整。如果您想通過範本中的 javascript 程式碼來控制畫布的大小,這將很有用。1
意味著 Godot 在啟動時,以及通過引擎功能改變視窗大小時,會調整畫布的大小。2
意味著 Godot 將調整畫布的大小以配對整個瀏覽器視窗。- Type
數字
- 值
2
- onExecute(path, args)¶
用於處理 Godot 的
OS.execute
呼叫的回呼函式。例如在Web Editor範本中使用, 用於在專案管理器和編輯器之間切換, 以及運作遊戲.
- 引數
path (
string()
) -- Godot想要執行的路徑.args (
Array.
) -- 要執行的 "command" 的參數.
- onExit(status_code)¶
當Godot實例退出時, 用於通知的回呼函式.
注意:如果引擎當機或無回應,該函式不會被呼叫。
- 引數
status_code (
number()
) -- Godot 退出時返回的狀態碼。
- onProgress(current, total)¶
回呼函式,用於顯示下載進度。
該函式在下載檔案時每影格被呼叫一次, 所以沒有必要使用
requestAnimationFrame()
.如果回呼函式接收到的位元組總數為0, 這意味著無法計算. 可能的原因包括:
檔隨伺服器端分塊壓縮一起提供
檔在Chromium上通過伺服器端壓縮提供
並非所有檔下載都已開始(通常在沒有多執行緒的伺服器上)
- 引數
current (
number()
) -- 到目前為止, 已下載的位元組數.total (
number()
) -- 要下載的總位元組數.
- onPrint([...var_args])¶
用於處理標準輸出流的回呼函式. 這個方法通常應該只在除錯頁面使用.
預設情況下,使用的是
console.log()
。- 引數
var_args (
*()
) -- 將要輸出的可變數量的參數.
- onPrintError([...var_args])¶
用於處理標準錯誤流的回呼函式. 這個方法通常應該只在除錯頁面使用.
預設情況下,使用的是
console.error()
。- 引數
var_args (
*()
) -- 將要輸出的可變數量的參數.