Work in progress
The content of this page was not yet updated for Godot
4.3
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 |
|
void |
|
boolean |
|
Méthodes d'instance
Promise |
|
Promise |
|
Promise |
|
Promise |
|
void |
|
void |
|
- 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
Promisequi 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
pathn'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 unArrayBufferest 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, sifilen'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
executableetmainPacksoient 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
bufferet à 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 |
|
HTMLCanvasElement |
|
chaîne |
|
chaîne |
|
chaîne |
|
number |
|
Array.<string> |
|
function |
|
function |
|
function |
|
function |
|
function |
- 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
canvascontenu 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.
0signifie 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.1signifie que Godot redimensionnera le caneva au démarrage, et lors du changement de taille de la fenêtre via les fonctions du moteur.2signifie 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 :
startGameajoutera toujours l'argument--main-pack.- Type:
Array.<string>
- valeur:
[]
- onExecute(path, args)
Une fonction de rappel pour gérer les appels
OS.executede 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.