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 |
|
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
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 unArrayBuffer
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, sifile
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
etmainPack
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 |
|
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
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.