Référence de classe shell HTML5

Les projets exportés pour le Web exposent la classe Engine à l’environnement JavaScript, qui permet un contrôle précis 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 Engine.load ( string basePath )
vide Engine.unload ( )
booléen Engine.isWebGLAvailable ( [ numéro version majeure = 1 ] )
vide Engine.setWebAssemblyFilenameExtension ( string extension )

Propriétés d’instance

Emscripten Module. engine.rtenv

Méthodes d’instance

Engine Engine ( )
Promesse engine.init ( [ string basePath ] )
Promesse engine.preloadFile ( string|ArrayBuffer file [, string path ] )
Promesse engine.start ( [ string arg1, string arg2, … ] )
Promesse engine.startGame ( string execName, string mainPack )
vide engine.setUnloadAfterInit ( boolean enabled )
vide engine.setCanvas ( HTMLCanvasElement canvasElem )
vide engine.setCanvasResizedOnStart ( boolean enabled )
vide engine.setLocale ( string locale )
vide engine.setExecutableName ( string execName )
vide engine.setProgressFunc ( function callback )
vide engine.setStdoutFunc ( function callback )
vide engine.setStderrFunc ( function callback )

Descriptions des méthodes statiques

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 est résolue une fois le moteur chargé.

Engine.unload()

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

Cette méthode est appelée automatiquement une fois que le moteur est démarré, sauf si elle est explicitement désactivée en utilisant engine.setUnloadAfterInit().

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 principale version de WebGL à chercher. La valeur par défaut est 1 pour WebGL 1.0.
Renvoie:

« true » si la version majeure donnée de WebGL est disponible, « false » sinon.

Engine.setWebAssemblyFilenameExtension(extension)

Définissez une extension alternative de nom de fichier pour le module WebAssembly. Par défaut, on suppose qu’il s’agit de wasm.

Arguments:
  • extension (string) – Extension de nom de fichier sans point la précédent.

Descriptions des propriétés d’instance

engine.rtenv

L’environnement d’exécution fourni par le Module d’Emscripten. Pour plus d’informations, consultez documentation officielle <https://emscripten.org/docs/api_reference/module.html> sur Emscripten.

Descriptions des méthodes d’instance

class Engine()

Créer une nouvelle instance de la classe Engine.

engine.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:

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

engine.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.

Arguments:
  • file (string|ArrayBuffer) – Si le type est string, le fichier sera chargé à partir de ce chemin. Si le type est 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 le file n’est pas une chaîne de caractères. S’il n’est pas passé, le chemin est dérivé de l’URL du fichier chargé.
Renvoie:

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

engine.start([arg1, arg2, ])

Démarrez l’instance du moteur, en utilisant les chaînes de caractères passées comme arguments de la ligne de commande. engine.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 engine.init(). Le moteur doit être chargé au préalable.

Échoue si un canvas ne peut être trouvée sur la page.

Arguments:
  • variadic (string) – Arguments de ligne de commande.
Renvoie:

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

engine.startGame(execName, mainPack)

Démarrez l’instance de jeu en utilisant l’URL de l’exécutable et l’URL du pack principal.

Cela permettra d’initialiser l’instance si elle n’est pas initialisée. Pour l’initialisation manuelle, voir la méthode engine.init().

Cela chargera le moteur s’il n’est pas chargé. Le chemin de base de l’URL de l’exécutable sera utilisé comme chemin de base du moteur.

Arguments:
  • execName (string) – Nom de l’exécutable sous la forme d’une URL, sans l’extension du nom de fichier.
  • mainPack (string) – URL du pack principal pour démarrer le jeu.
Renvoie:

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

engine.setUnloadAfterInit(enabled)

Précisez si le moteur sera déchargé automatiquement après l’initialisation de l’instance. Activé par défaut.

Arguments:
  • enabled (boolean) – « true » si le moteur doit être déchargé après l’initialisation, « false » sinon.
engine.setCanvas(canvasElem)

Spécifiez un élément HTML de type canvas à utiliser. Par défaut, le premier élément canvas de la page est utilisé pour le rendu.

Arguments:
  • canvasElem (HTMLCanvasElement) – L’élément canvas à utiliser.
engine.setCanvasResizedOnStart(enabled)

Spécifie si le canvas sera redimensionnée à la largeur et à la hauteur spécifiées dans les paramètres du projet au démarrage. Activé par défaut.

Arguments:
  • enabled (boolean) – « true » si le canevas doit être redimensionnée au départ, « false » sinon.
engine.setLocale(locale)

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

Voir aussi

Liste complète des locales supportées.

Arguments:
  • locale (string) – Code de langue.
engine.setExecutableName(execName)

Précisez le nom de fichier virtuel de l’exécutable. Par défaut, le nom de base des fichiers du moteur chargés est utilisé.

Cela affecte la sortie de OS.get_executable_path() et définit le paquet principal lancé automatiquement à ExecutableName.pck.

Arguments:
  • execName (string) – Le nom de l’exécutable.
engine.setProgressFunc(callback)

Spécifiez une fonction de rappel pour afficher la progression du téléchargement. La fonction de rappel est appelée une fois par image(frame), de sorte que 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:
  • callback (function) – La fonction de rappel doit accepter deux arguments numériques : la quantité d’octets chargés jusqu’à présent et le nombre total d’octets à charger.
engine.setStdoutFunc(callback)

Spécifier la fonction de rappel pour gérer le flux standard de sortie. Cette méthode ne devrait généralement être appelé que sur les pages debug. Par défaut, console.log() est utilisé.

Arguments:
  • callback (function) – La fonction de rappel doit accepter un argument : une chaîne de caractères , le message à imprimer.
engine.setStderrFunc(callback)

Spécifier la fonction de rappel pour gérer le flux standard d’erreur. Cette méthode ne devrait généralement être appelé que sur les pages debug. Par défaut, console.warn() est utilisé.

Arguments:
  • callback (function) – La fonction de rappel doit accepter un argument : une chaîne de caractères , le message à imprimer.