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.

Référence de classe shell HTML5

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

Cette API est construite de manière asynchrone et nécessite une compréhension de base des promesses (Promise).

Engine

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

Méthodes statiques

Promise

load ( string basePath )

void

unload ( )

boolean

isWebGLAvailable ( [ number majorVersion=1 ] )

Méthodes d'instance

Promise

init ( [ string basePath ] )

Promise

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

Promise

start ( EngineConfig surcharge )

Promise

startGame ( EngineConfig surcharge )

void

copyToFS ( string path, ArrayBuffer tampon )

void

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.

Méthodes statiques

Engine.load(basePath)

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

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

Renvoie

Une promesse qui se résout une fois le moteur chargé.

Type renvoyé

Promise

Engine.unload()

Décharge le moteur afin de 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. Vous pouvez également spécifier une version de WebGL que vous souhaitez 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é

boolean

Méthodes d'instance

Engine.prototype.init([basePath])

Initialise l'instance du moteur. Vous pouvez également passer le chemin de base du moteur afin qu'il soit chargé, s'il ne l'est pas déjà. Voir la méthode Engine.load().

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

Renvoie

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

Type renvoyé

Promise

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

Charge un fichier pour qu'il soit disponible dans le système de fichiers de l'instance une fois qu'elle a démarré. Cette méthode doit être appelée avant de démarrer l'instance ; voir Engine.start().

Si path n'est pas fourni, il sera dérivé de l'URL du fichier à charger.

Arguments
  • file (string|ArrayBuffer()) -- Le fichier à précharger. Si une chaîne de caractères (string) est fournie, le fichier sera chargé depuis ce chemin. Si un ArrayBuffer est fourni (ou une vue sur celui-ci), 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ésoudra une fois le fichier chargé.

Type renvoyé

Promise

Engine.prototype.start(override)

Démarre l'instance du moteur en utilisant la configuration de surcharge donnée (s'il y en a une). Dans des cas typiques, vous pouvez utiliser startGame à la place.

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

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

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

Renvoie

Une promesse qui se résoudra une fois le moteur démarré.

Type renvoyé

Promise

Engine.prototype.startGame(override)

Démarre l'instance de jeu en utilisant la surcharge de 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

Une promesse qui se résoudra une fois le jeu démarré.

Type renvoyé

Promise

Engine.prototype.copyToFS(path, buffer)

Crée un fichier dans le système de fichiers de l'instance, à partir d'un tampon buffer et à un emplacement (path) donnés.

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.

C'est comme si l'utilisateur appuyait sur le bouton de fermeture dans le gestionnaire de fenêtres, et cela n'aura aucun effet si le moteur a planté ou est bloqué dans une boucle.

Configuration du moteur

Un objet utilisé pour configurer l'instance du moteur en fonction des options d'exportation de godot, et pour les remplacer dans les modèles HTML personnalisés si nécessaire.

Propriétés

Type

Nom

boolean

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

L'objet de configuration du moteur. Il s'agit simplement d'un typedef, donc créez-le comme un objet typique, par exemple :

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

Description des propriétés

unloadAfterInit

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

Type

boolean

valeur

true

canvas

L'objet HTML DOM Canvas à utiliser.

Par défaut, si aucun n'est spécifié, le premier élément canvas contenu dans le document sera utilisé.

Type

HTMLCanvasElement

valeur

null

executable

Le nom du fichier WASM sans inclure l'extension. (Défini par le processus d'exportation de l'éditeur Godot).

Type

chaîne

valeur

""

mainPack

Un autre nom pour le pck de jeu à charger. Le nom de l’exécutable sera utilisé dans le cas contraire.

Type

chaîne

valeur

null

locale

Indique 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

valeur

null

canvasResizePolicy

La politique de redimensionnement du canevas détermine comment le canevas doit être redimensionné par Godot.

0 signifie que Godot ne fera aucun redimensionnement. Ceci est utile si vous souhaitez contrôler la taille du canevas à partir du code javascript de votre modèle.

1 signifie que Godot redimensionnera le caneva au démarrage, et lors du changement de taille de la fenêtre via les fonctions du moteur.

2 signifie que Godot adaptera la taille du canvas pour qu'elle corresponde à la totalité de la fenêtre du navigateur.

Type

number

valeur

2

args

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

Voir command line tutorial.

Note : startGame ajoutera toujours l'argument --main-pack.

Type

Array.<string>

valeur

[]

onExecute(path, args)

Une fonction de rappel pour gérer les appels OS.execute de Godot.

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()) -- Le chemin que Godot veut exécuter.

  • args (Array.) -- Les arguments de la "commande" à exécuter.

onExit(status_code)

Une fonction de rappel pour être notifié lorsque l'instance Godot quitte.

Note : Cette fonction ne sera pas appelée si le moteur plante ou ne répond plus.

Arguments
  • status_code (number()) -- Le code d'état renvoyé par Godot à la sortie.

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()) -- La quantité actuelle d'octets téléchargés jusqu'à présent.

  • total (number()) -- La quantité totale d'octets à télécharger.

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 (*()) -- Un nombre variable d'arguments à imprimer.

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 (*()) -- Un nombre variable d'arguments à imprimer comme erreurs.