Work in progress

The content of this page was not yet updated for Godot 4.4 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 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.

This API is built in an asynchronous manner and requires basic understanding of Promises.

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])

Load a file so it is available in the instance's file system once it runs. Must be called before starting the instance.

If not provided, the path is derived from the URL of the loaded file.

Parametri:
  • file (string|ArrayBuffer()) --

    Il file da precaricare.

    If a string the file will be loaded from that path.

    If an ArrayBuffer or a view on one, the buffer will used as the content of the 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)

Start the engine instance using the given override configuration (if any). startGame can be used in typical cases instead.

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:
Ritorna:

Una Promise che si risolve una volta avviato il motore.

Tipo di ritorno:

Promise

Engine.prototype.startGame(override)

Start the game instance using the given configuration override (if any).

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.

This method expects the initial config (or the override) to have both the executable and mainPack properties set (normally done by the editor during export).

Parametri:
Ritorna:

Una Promise che si risolve una volta avviato il gioco.

Tipo di ritorno:

Promise

Engine.prototype.copyToFS(path, buffer)

Create a file at the specified path with the passed as buffer in the instance's file system.

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, console.log() è utilizzato.

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