Work in progress
The content of this page was not yet updated for Godot
4.4
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.
HTML5 Shell-Klassenreferenz
Projekte, die für das Web exportiert werden, stellen der JavaScript-Umgebung die Klasse Engine() zur Verfügung, die eine genaue Kontrolle über den Startvorgang der Engine ermöglicht.
Diese API ist asynchron aufgebaut und erfordert ein grundlegendes Verständnis von Promises.
Die Engine
Die Klasse Engine bietet Methoden zum Laden und Starten exportierter Projekte im Web. Bei den Default-Export-Einstellungen ist dies bereits Teil der exportierten HTML-Seite. Um die praktische Verwendung der Klasse Engine zu verstehen, siehe Benutzerdefinierte HTML-Seite für Web-Export.
Statische Methoden
Promise |
|
void |
|
boolean |
|
Instanzmethoden
Promise |
|
Promise |
|
Promise |
|
Promise |
|
void |
|
void |
|
- class Engine(initConfig)
Erzeugt eine neue Engine-Instanz mit der angegebenen Konfiguration.
- Parameter:
initConfig (
EngineConfig()) -- Die initiale Konfiguration für diese Instanz.
Statische Methoden
- Engine.load(basePath)
Lädt die Engine aus dem angegebenen Basispfad.
- Parameter:
basePath (
string()) -- Basispfad der zu ladenden Engine.
- Rückgabe:
Ein Promise, das sich einlöst, sobald die Engine geladen ist.
- Rückgabetyp:
Promise
- Engine.unload()
Entlädt die Engine, um Speicher freizugeben.
Diese Methode wird je nach Konfiguration automatisch aufgerufen. Siehe
unloadAfterInit.
- Engine.isWebGLAvailable([majorVersion=1])
Prüfen Sie, ob WebGL verfügbar ist. Geben Sie optional eine bestimmte Version von WebGL an, auf die geprüft werden soll.
- Parameter:
majorVersion (
number()) -- Die Haupt-WebGL-Version, auf die geprüft werden soll.
- Rückgabe:
Wenn die angegebene Hauptversion von WebGL verfügbar ist.
- Rückgabetyp:
boolean
Instanzmethoden
- Engine.prototype.init([basePath])
Initialisierung der Engine-Instanz. Optional kann der Basispfad zur Engine übergeben werden, um sie zu laden, falls sie noch nicht geladen wurde. Siehe
Engine.load().- Parameter:
basePath (
string()) -- Basispfad der zu ladenden Engine.
- Rückgabe:
Ein
Promise, das sich einlöst, sobald die Engine geladen und initialisiert ist.- Rückgabetyp:
Promise
- Engine.prototype.preloadFile(file[, path])
Lädt eine Datei, damit sie im Dateisystem der Instanz verfügbar ist, sobald diese läuft. Muss vor dem Start der Instanz aufgerufen werden.
Wenn nicht angegeben, wird der
Pfadvon der URL der geladenen Datei abgeleitet.- Parameter:
file (
string|ArrayBuffer()) -- Die Datei, die vorgeladen werden soll. Wenn es einStringist, wird die Datei von diesem Pfad geladen. Wenn es einArrayBufferoder ein View auf einen solchen ist, wird der Buffer als Inhalt der Datei verwendet.path (
string()) -- Pfad, unter dem die Datei zugänglich sein wird. Erforderlich, wennfilekein String ist.
- Rückgabe:
Ein Promise, das aufgelöst wird, sobald die Datei geladen ist.
- Rückgabetyp:
Promise
- Engine.prototype.start(override)
Startet die Engine-Instanz unter Verwendung der angegebenen Override-Konfiguration (falls vorhanden).
startGamekann in typischen Fällen stattdessen verwendet werden.Dadurch wird die Instanz initialisiert, wenn sie nicht bereits initialisiert ist. Für die manuelle Initialisierung siehe
init. Die Engine muss vorher geladen werden.Schlägt fehl, wenn ein Canvas auf der Seite nicht gefunden werden kann oder nicht in der Konfiguration angegeben ist.
- Parameter:
override (
EngineConfig()) -- Eine optionale Konfigurations-Override.
- Rückgabe:
Ein Promise, das nach dem Starten der Engine aufgelöst wird.
- Rückgabetyp:
Promise
- Engine.prototype.startGame(override)
Startet die Spielinstanz mit dem angegebenen Konfigurations-Override (falls vorhanden).
Dadurch wird die Instanz initialisiert, wenn sie nicht initialisiert ist. Für die manuelle Initialisierung, siehe
init.Dadurch wird die Engine geladen, falls sie noch nicht geladen ist, und das Hauptpaket wird vorgeladen.
Diese Methode erwartet, dass die initiale Konfiguration (oder das Override) sowohl die
executableals auch diemainPack-Property gesetzt hat (normalerweise geschieht dies durch den Editor während des Exports).- Parameter:
override (
EngineConfig()) -- Eine optionale Konfigurations-Override.
- Rückgabe:
Ein Promise, das sich auflöst, sobald das Spiel begonnen hat.
- Rückgabetyp:
Promise
- Engine.prototype.copyToFS(path, buffer)
Erzeugt eine Datei im angegebenen
pathmit dem alsbufferübergebenen Inhalt im Dateisystem der Instanz.- Parameter:
path (
string()) -- Der Ort, an dem die Datei erstellt werden soll.buffer (
ArrayBuffer()) -- Der Inhalt der Datei.
- Engine.prototype.requestQuit()
Anforderung, dass die aktuelle Instanz beendet wird.
Dies ist vergleichbar mit dem Drücken des "Schließen"-Buttons im Fenstermanager und hat keine Auswirkungen, wenn die Engine abgestürzt ist oder in einer Schleife feststeckt.
Engine-Konfiguration
Ein Objekt, das dazu dient, die Engine-Instanz auf der Grundlage der Godot-Exportoptionen zu konfigurieren und diese bei Bedarf in benutzerdefinierten HTML-Vorlagen außer Kraft zu setzen.
Propertys
Typ |
Name |
boolean |
|
HTMLCanvasElement |
|
String |
|
String |
|
String |
|
Zahl |
|
Array.<String> |
|
Funktion |
|
Funktion |
|
Funktion |
|
Funktion |
|
Funktion |
- EngineConfig
Das Konfigurationsobjekt der Engine. Dies ist nur ein Typedef, erstellen Sie es wie ein normales Objekt, z.B.:
const MyConfig = { executable: 'godot', unloadAfterInit: false }Property-Beschreibungen
- unloadAfterInit
Ob die Engine automatisch entladen werden soll, nachdem die Instanz initialisiert wurde.
- Typ:
boolean
- Wert:
true
- canvas
Das zu verwendende HTML DOM Canvas-Objekt.
Standardmäßig wird das erste Canvas-Element im Dokument verwendet, wenn keines angegeben ist.
- Typ:
HTMLCanvasElement
- Wert:
null
- executable
Der Name der WASM-Datei ohne Erweiterung. (Wird durch den Exportvorgang des Godot-Editors festgelegt).
- Typ:
String
- Wert:
""
- mainPack
Ein alternativer Name für das zu ladende Spiel-pck. Ansonsten wird der Name der ausführbaren Datei verwendet.
- Typ:
String
- Wert:
null
- locale
Geben Sie einen Sprachcode an, um die richtige Lokalisierung für das Spiel auszuwählen.
Die Browser-Sprachumgebung wird verwendet, wenn keine angegeben ist. Siehe vollständige Liste der unterstützten Gebietsschemata.
- Typ:
String
- Wert:
null
- canvasResizePolicy
Die Richtlinie zur Größenänderung des Canvas legt fest, wie die Größe des Canvas durch Godot geändert werden soll.
0bedeutet, dass Godot keine Größenänderung vornimmt. Dies ist nützlich, wenn Sie die Größe des Canvas über Javascript-Code in Ihrer Vorlage steuern möchten.1bedeutet, dass Godot die Größe des Canvas beim Start und beim Ändern der Fenstergröße über Engine-Funktionen ändert.2bedeutet, dass Godot die Größe des Canvas an die Größe des gesamten Browserfensters anpasst.- Typ:
Zahl
- Wert:
2
- args
Die Argumente, die beim Starten als Befehlszeilenargumente übergeben werden.
Siehe Kommandzeilen-Tutorial.
Hinweis:
startGamefügt immer das--main-pack-Argument hinzu.- Typ:
Array.<String>
- Wert:
[]
- onExecute(path, args)
Eine Callback-Funktion für die Behandlung von Godots
OS.execute-Aufrufen.Dies wird zum Beispiel in der Web-Editor-Vorlage verwendet, um zwischen Projektmanager und Editor zu wechseln und um das Spiel zu starten.
- Parameter:
path (
string()) -- Der Pfad, den Godot ausführen möchte.args (
Array.) -- Die Argumente des auszuführenden "Befehls".
- onExit(status_code)
Eine Callback-Funktion, um benachrichtigt zu werden, wenn die Godot-Instanz beendet wird.
Hinweis: Diese Funktion wird nicht aufgerufen, wenn die Engine abstürzt oder nicht mehr reagiert.
- Parameter:
status_code (
number()) -- Der von Godot beim Beenden zurückgegebene Statuscode.
- onProgress(current, total)
Eine Callback-Funktion zur Anzeige des Download-Fortschritts.
Die Funktion wird einmal pro Frame beim Herunterladen von Dateien aufgerufen, so dass die Verwendung von
requestAnimationFrame()nicht notwendig ist.Wenn die Callback-Funktion eine Gesamtanzahl von Bytes als 0 erhält, bedeutet dies, dass sie nicht berechnet werden kann. Mögliche Gründe sind:
Dateien werden mit serverseitiger Blockkomprimierung geliefert
Dateien werden mit serverseitiger Komprimierung auf Chromium geliefert
Es wurden noch nicht alle Dateidownloads gestartet (normalerweise auf Servern ohne Multithreading)
- Parameter:
current (
number()) -- Die aktuelle Anzahl der bisher heruntergeladenen Bytes.total (
number()) -- Die Gesamtmenge der herunterzuladenden Bytes.
- onPrint([...var_args])
Eine Callback-Funktion für die Behandlung des Default-Ausgabestroms. Diese Methode sollte normalerweise nur in Debug-Seiten verwendet werden.
Standardmäßig wird
console.log()verwendet.- Parameter:
var_args (
*()) -- Eine variadische Menge von Argumenten, die ausgegeben werden sollen.
- onPrintError([...var_args])
Eine Callback-Funktion für die Behandlung des Default-Fehlerstroms. Diese Methode sollte normalerweise nur in Debug-Seiten verwendet werden.
Standardmäßig wird
console.error()verwendet.- Parameter:
var_args (
*()) -- Eine variable Menge von Argumenten, die als Fehler ausgegeben werden.