Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

HTML5 shell class reference

I progetti esportati per il Web espongono la classe Engine() all'ambiente JavaScript, che consente di controllare precisamente il processo di avvio del motore.

Questa API è sviluppata in modo asincrono e richiede una conoscenza di base di Promise.

Engine

La classe Engine fornisce metodi per caricare e avviare progetti esportati sul Web. Per le impostazioni di esportazione predefinite, questa classe è già inclusa nella pagina HTML esportata. Per comprendere l'uso pratico della classe Engine, consultare Pagina HTML personalizzata per l'esportazione Web.

Metodi statici

Promise

load ( string basePath )

void

unload ( )

boolean

isWebGLAvailable ( [ number majorVersion=1 ] )

Metodi di Istanza

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)

Crea una nuova istanza del motore con la configurazione specificata.

Parametri:
  • initConfig (EngineConfig()) -- La configurazione iniziale per questa istanza.

Metodi statici

Engine.load(basePath)

Carica il motore dal percorso base specificato.

Parametri:
  • basePath (string()) -- Percorso base del motore da caricare.

Ritorna:

Una Promise che si risolve una volta caricato il motore.

Tipo di ritorno:

Promise

Engine.unload()

Scarica il motore per liberare memoria.

Questo metodo sarà chiamato automaticamente in base alla configurazione. Vedere unloadAfterInit.

Engine.isWebGLAvailable([majorVersion=1])

Verifica se WebGL è disponibile. Facoltativamente, specifica una versione specifica di WebGL da verificare.

Parametri:
  • majorVersion (number()) -- La versione WebGL maggiore da verificare.

Ritorna:

Se la versione maggiore specificata di WebGL è disponibile.

Tipo di ritorno:

boolean

Metodi di istanza

Engine.prototype.init([basePath])

Inizializza l'istanza del motore. Facoltativamente, si può passare il percorso base al motore per caricarlo, se non è ancora stato caricato. Vedere Engine.load().

Parametri:
  • basePath (string()) -- Percorso base del motore da caricare.

Ritorna:

Una Promise che si risolve una volta caricato e inizializzato il motore.

Tipo di ritorno:

Promise

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

Carica un file in modo che sia disponibile nel file system dell'istanza una volta eseguita. Deve essere chiamato prima di avviare l'istanza.

Se non specificato, il percorso path viene derivato dall'URL del file caricato.

Parametri:
  • file (string|ArrayBuffer()) -- Il file da precaricare. Se è una string, il file sarà caricato da quel percorso. Se è un ArrayBuffer o una vista su di esso, il buffer sarà utilizzato come contenuto del file.

  • path (string()) -- Percorso tramite il quale il file sarà accessibile. Obbligatorio, se file non è una stringa.

Ritorna:

Una Promise che si risolve una volta caricato il file.

Tipo di ritorno:

Promise

Engine.prototype.start(override)

Avvia l'istanza del motore utilizzando la configurazione di sovrascrittura specificata (se presente). In casi tipici è possibile utilizzare invece startGame.

Questo inizializzerà l'istanza se non è già inizializzata. Per l'inizializzazione manuale, vedere init. Il motore deve essere caricato in precedenza.

Fallisce se non è possibile trovare un canvas nella pagina, oppure se non è specificato nella configurazione.

Parametri:
  • override (EngineConfig()) -- Una sovrascrittura di configurazione facoltativa.

Ritorna:

Una Promise che si risolve una volta avviato il motore.

Tipo di ritorno:

Promise

Engine.prototype.startGame(override)

Avvia l'istanza del gioco utilizzando la sovrascrittura di configurazione specificata (se presente).

Questo inizializzerà l'istanza se non è già inizializzata. Per l'inizializzazione manuale, vedere init.

Questo caricherà il motore se non è stato caricato, e precarica il pck principale.

Questo metodo si aspetta che la configurazione iniziale (o la sovrascrittura) abbia entrambe le proprietà executable e mainPack impostate (normalmente eseguito dall'editor durante l'esportazione).

Parametri:
  • override (EngineConfig()) -- Una sovrascrittura di configurazione facoltativa.

Ritorna:

Una Promise che si risolve una volta avviato il gioco.

Tipo di ritorno:

Promise

Engine.prototype.copyToFS(path, buffer)

Crea un file nel percorso path con il valore passato come buffer nel file system dell'istanza.

Parametri:
  • path (string()) -- Il percorso in cui verrà creato il file.

  • buffer (ArrayBuffer()) -- Il contenuto del file.

Engine.prototype.requestQuit()

Richiede che l'istanza attuale esca.

Questo è come se l'utente premesse il pulsante di chiusura nel gestore delle finestre, e non avrà alcun effetto se il motore ha avuto un crash o è bloccato in un ciclo.

Configurazione del motore

Un oggetto utilizzato per configurare l'istanza del motore in base alle opzioni di esportazione di Godot e per sovrascriverle nei modelli HTML personalizzati, se necessario.

Proprietà

type

name

boolean

unloadAfterInit

HTMLCanvasElement

canvas

string

executable

string

mainPack

string

locale

number

canvasResizePolicy

Array.<string>

args

funzione

onExecute

funzione

onExit

funzione

onProgress

funzione

onPrint

funzione

onPrintError

EngineConfig

L'oggetto di configurazione del motore. Questo è solo un typedef, da creare come un oggetto normale, ad esempio:

const MyConfig = { executable: 'godot', unloadAfterInit: false }

Descrizioni di proprietà

unloadAfterInit

Indica se il motore si deve scaricare automaticamente dopo l'inizializzazione dell'istanza.

Type:

boolean

valore:

true

canvas

L'oggetto DOM canvas di HTML da utilizzare.

Come predefinito, se nessuno ne viene specificato, sarà utilizzato il primo elemento canvas del documento.

Type:

HTMLCanvasElement

valore:

null

executable

Nome del file WASM senza estensione. (Impostato dal processo di esportazione dell'editor Godot).

Type:

string

valore:

""

mainPack

Un nome alternativo per il file PCK di gioco da caricare. Altrimenti, sarà utilizzato il nome dell'eseguibile.

Type:

string

valore:

null

locale

Specifica un codice lingua per selezionare la localizzazione appropriata per il gioco.

Se nessuna ne viene specificata, sarà utilizzata la localizzazione del browser. Consulta l'elenco completo delle localizzazioni supportate.

Type:

string

valore:

null

canvasResizePolicy

La politica di ridimensionamento del canvas determina come il canvas deve essere ridimensionato da Godot.

0 significa che Godot non farà alcun ridimensionamento. Questo è utile se si desidera controllare la dimensione del canvas dal codice JavaScript nel proprio modello.

1 significa che Godot ridimensionerà il canvas all'avvio e quando si modificano le dimensioni della finestra tramite le funzioni del motore.

2 significa che Godot adatterà le dimensioni del canvas per adattarle all'intera finestra del browser.

Type:

number

valore:

2

args

Gli argomenti da passare come argomenti della riga di comando all'avvio.

Consulta tutorial sulla riga di comando.

Nota: startGame aggiungerà sempre l'argomento --main-pack.

Type:

Array.<string>

valore:

[]

onExecute(path, args)

Una funzione di callback per gestire le chiamate di OS.execute di Godot.

Ad esempio, viene utilizzato nel modello dell'editor Web per passare dal Gestore dei progetti all'editor e viceversa, nonché per eseguire il gioco.

Parametri:
  • path (string()) -- Il percorso che Godot vuole eseguire.

  • args (Array.) -- Gli argomenti del "comando" da eseguire.

onExit(status_code)

Una funzione di callback per essere notificati quando l'istanza di Godot si chiude.

Nota: questa funzione non verrà richiamata se il motore ha un crash o non risponde più.

Parametri:
  • status_code (number()) -- Il codice di stato restituito da Godot all'uscita.

onProgress(current, total)

Una funzione di callback per visualizzare l'avanzamento del download.

La funzione viene chiamata una volta per frame durante il download dei file, quindi non è necessario utilizzare requestAnimationFrame().

Se la funzione di callback riceve un numero totale di byte pari a 0, significa che è impossibile calcolarlo. Alcune possibili cause includono:

  • I file sono ricevuti con compressione a blocchi dal lato server

  • I file sono ricevuti con compressione su Chromium

  • Non tutti i download dei file sono stati ancora iniziati (solitamente su server senza multi-threading)

Parametri:
  • current (number()) -- La quantità attuale di byte scaricati fino ad ora.

  • total (number()) -- La quantità totale di byte da scaricare.

onPrint([...var_args])

Una funzione di callback per gestire il flusso di output standard. Questo metodo si dovrebbe solitamente utilizzare solo nelle pagine di debug.

Come predefinito, console.log() è utilizzato.

Parametri:
  • var_args (*()) -- Un numero variabile di argomenti da stampare.

onPrintError([...var_args])

Una funzione di callback per gestire il flusso di errore standard. Questo metodo si dovrebbe solitamente utilizzare solo nelle pagine di debug.

Come predefinito, è utilizzato console.log().

Parametri:
  • var_args (*()) -- Un numero variabile di argomenti da stampare come errori.