Référence de classe shell HTML5

Les projets exportés pour le Web exposent la classe Engine() à l'environnement JavaScript, ce qui permet un contrôle fin du processus de démarrage du moteur.

Cette API est construite de manière asynchrone et nécessite une compréhension de base des Promises.

Engine

La classe Engine fournit des méthodes pour charger et démarrer des projets exportés sur le Web. Pour les paramètres d'exportation par défaut, elle fait déjà partie de la page HTML exportée. Pour comprendre l'utilisation pratique de la classe Engine, voir Custom HTML page for Web export.

Méthodes statiques

Promesse

load ( string basePath )

vide

unload ( )

booléen

isWebGLAvailable ( [ number majorVersion=1 ] )

Méthodes d'instance

Promesse

init ( [ string basePath ] )

Promesse

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

Promesse

start ( EngineConfig surcharge )

Promesse

startGame ( EngineConfig surcharge )

vide

copyToFS ( string path, ArrayBuffer tampon )

vide

requestQuit ( )

class Engine(initConfig)

Crée une nouvelle instance de moteur avec la configuration donnée.

Arguments
  • initConfig (EngineConfig) -- La configuration initiale de cette instance.

Static Methods

Engine.load(basePath)

Charge le moteur à partir du chemin de base spécifiée.

Arguments
  • basePath (string) -- Chemin de base du moteur à charger.

Renvoie

Promesse qui se résout une fois que le moteur est chargé.

Type renvoyé

Promesse

Engine.unload()

Déchargez le moteur pour libérer de la mémoire.

Cette méthode sera appelée automatiquement en fonction de la configuration. Voir unloadAfterInit.

Engine.isWebGLAvailable([majorVersion=1])

Vérifie si WebGL est disponible. Si nécessaire, indiquez une version particulière de WebGL à vérifier.

Arguments
  • majorVersion (number) -- La version majeure de WebGL à vérifier.

Renvoie

Si la version majeure de WebGL indiquée est disponible.

Type renvoyé

booléen

Instance Methods

Engine.prototype.init([basePath])

Initialisez l'instance du moteur. Si vous le souhaitez, passez le chemin de base au moteur pour le charger, s'il n'a pas encore été chargé. Voir la méthode Engine.load().

Arguments
  • basePath (string) -- Chemin de base du moteur à charger.

Renvoie

Une Promise qui se résout une fois que le moteur est chargé et initialisé.

Type renvoyé

Promesse

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

Chargez un fichier pour qu'il soit disponible dans le système de fichiers une fois l'instance lancée. Doit être appelé avant de démarrer l'instance.

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

Arguments
  • file (string|ArrayBuffer) -- Le fichier à précharger. Si c'est un string, le fichier sera chargé depuis ce chemin. Si c'est un ArrayBuffer ou une vue sur un, le tampon sera utilisé comme contenu du fichier.

  • path (string) -- Chemin par lequel le fichier sera accessible. Obligatoire, si file n'est pas une chaîne.

Renvoie

Une promesse qui se résout une fois que le fichier est chargé.

Type renvoyé

Promesse

Engine.prototype.start(override)

Démarre l'instance du moteur en utilisant la configuration de surcharge donnée (s'il y en a une). startGame peut être utilisé dans les cas typiques à la place.

Cela permettra d'initialiser l'instance si elle n'est pas initialisée. Pour l'initialisation manuelle, voir init. Le moteur doit être chargé au préalable.

Échec si un canevas ne peut être trouvé sur la page, ou s'il n'est pas spécifié dans la configuration.

Arguments
  • override (EngineConfig) -- Une surcharge facultative de la configuration.

Renvoie

Promesse qui se résout une fois le moteur démarré.

Type renvoyé

Promesse

Engine.prototype.startGame(override)

Démarre l'instance de jeu en utilisant la configuration donnée (le cas échéant).

Cela permettra d'initialiser l'instance si elle n'est pas initialisée. Pour l'initialisation manuelle, voir init.

Cela va charger le moteur s'il n'est pas chargé, et précharger le pck principal.

Cette méthode attend de la configuration initiale (ou de la surcharge) que les propriétés executable et mainPack soient définies (ce qui est normalement fait par l'éditeur lors de l'exportation).

Arguments
  • override (EngineConfig) -- Une surcharge facultative de la configuration.

Renvoie

Promesse qui se résout une fois le jeu démarré.

Type renvoyé

Promesse

Engine.prototype.copyToFS(path, buffer)

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

Arguments
  • path (string) -- L'emplacement où le fichier sera créé.

  • buffer (ArrayBuffer) -- Le contenu du fichier.

Engine.prototype.requestQuit()

Demande que l'instance actuelle quitte.

This is akin the user pressing the close button in the window manager, and will have no effect if the engine has crashed, or is stuck in a loop.

Configuration du moteur

An object used to configure the Engine instance based on godot export options, and to override those in custom HTML templates if needed.

Propriétés

type

name

booléen

unloadAfterInit

HTMLCanvasElement

canvas

chaîne

executable

chaîne

mainPack

chaîne

locale

number

canvasResizePolicy

Array.<string>

args

function

onExecute

function

onExit

function

onProgress

function

onPrint

function

onPrintError

EngineConfig

The Engine configuration object. This is just a typedef, create it like a regular object, e.g.:

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

Description des propriétés

unloadAfterInit

Si le moteur est déchargé automatiquement après l'initialisation de l'instance.

Type

booléen

Value

true

canvas

L'objet HTML DOM Canvas à utiliser.

By default, the first canvas element in the document will be used is none is specified.

Type

HTMLCanvasElement

Value

null

executable

The name of the WASM file without the extension. (Set by Godot Editor export process).

Type

chaîne

Value

""

mainPack

An alternative name for the game pck to load. The executable name is used otherwise.

Type

chaîne

Value

null

locale

Indiquez un code de langue pour sélectionner la localisation appropriée pour le jeu.

La localisation du navigateur sera utilisée si aucune n'est spécifiée. Voir la liste complète des supported locales.

Type

chaîne

Value

null

canvasResizePolicy

The canvas resize policy determines how the canvas should be resized by Godot.

0 means Godot won't do any resizing. This is useful if you want to control the canvas size from javascript code in your template.

1 means Godot will resize the canvas on start, and when changing window size via engine functions.

2 means Godot will adapt the canvas size to match the whole browser window.

Type

number

Value

2

args

Les arguments à passer comme arguments de ligne de commande au démarrage.

Voir command line tutorial.

Note: startGame will always add the --main-pack argument.

Type

Array.<string>

Value

[]

onExecute(path, args)

A callback function for handling Godot's OS.execute calls.

This is for example used in the Web Editor template to switch between project manager and editor, and for running the game.

Arguments
  • path (string) -- The path that Godot's wants executed.

  • args (Array.<string>) -- The arguments of the "command" to execute.

onExit(status_code)

A callback function for being notified when the Godot instance quits.

Note: This function will not be called if the engine crashes or become unresponsive.

Arguments
  • status_code (number) -- The status code returned by Godot on exit.

onProgress(current, total)

Fonction de rappel permettant d’afficher la progression du téléchargement.

La fonction est appelée une fois par image pendant le téléchargement des fichiers, donc l'utilisation de requestAnimationFrame() n'est pas nécessaire.

Si la fonction de rappel reçoit une quantité totale de bytes de 0, ça signifie que le calcul est impossible, les raisons possibles peuvent être les suivantes :

  • Les fichiers sont délivrés avec une compression par tronçons réalisée par le serveur

  • Les fichiers sont délivrés avec une compression côté serveur sur Chromium

  • Les téléchargements de fichiers n'ont pas encore tous démarré (en général sur des serveurs sans multi-threading)

Arguments
  • current (number) -- The current amount of downloaded bytes so far.

  • total (number) -- The total amount of bytes to be downloaded.

onPrint([...var_args])

Une fonction de rappel pour gérer le flux de sortie standard. Cette méthode ne doit généralement être utilisée que dans les pages de débogage.

Par défaut, console.log()` est utilisé.

Arguments
  • var_args (*) -- A variadic number of arguments to be printed.

onPrintError([...var_args])

Une fonction de rappel pour gérer le flux d'erreur standard. Cette méthode ne doit généralement être utilisée que dans les pages de débogage.

Par défaut, console.error() est utilisé.

Arguments
  • var_args (*) -- A variadic number of arguments to be printed as errors.