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.

S'il n'est pas fourni, le path est dérivé de l'URL du fichier chargé.

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)

Crée un fichier au path spécifié avec le buffer passé dans le système de fichiers de l'instance.

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

name

booléen

unloadAfterInit

HTMLCanvasElement

canvas

chaîne

executable

chaîne

mainPack

chaîne

locale

nombre (valeur), numéro (de ligne)

canvasResizePolicy

Array.<string>

args

function

onExecute

function

onExit

function

onProgress

function

onPrint

function

onPrintError

EngineConfig

L'objet de configuration du moteur. Est juste un typedef, créez-le comme un objet normal, par exemple :

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

valeur

true

canvas

L'objet HTML DOM Canvas à utiliser.

Par défaut, le premier élément de canevas du document sera utilisé si aucun n'est spécifié.

Type

HTMLCanvasElement

valeur

null

executable

Le nom du fichier WASM sans 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 est utilisé dans le cas contraire.

Type

chaîne

valeur

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

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

nombre (valeur), numéro (de ligne)

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.

Cette fonction est par exemple utilisée dans le modèle de l'éditeur Web pour passer du gestionnaire de projet à l'éditeur, et pour lancer le jeu.

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.