Feature-Tags¶
Einführung¶
Godot verfügt über ein spezielles System zur Kennzeichnung der Verfügbarkeit von Funktionen. Jedes Merkmal wird als Zeichenfolge dargestellt, das sich auf viele der folgenden Elemente beziehen kann:
Plattform Name.
Plattformarchitektur (64-Bit oder 32-Bit, x86 oder ARM).
Plattformtyp (Desktop, Mobile, Web).
Unterstützte Texturkomprimierungsalgorithmen auf der Plattform.
Ob ein Build
debug
oderrelease
ist (debug
enthält den Editor).Ob das Projekt über den Editor oder eine "eigenständige" Binärdatei ausgeführt wird.
Viele weitere Dinge.
Features können zur Laufzeit über die Singleton-API abgefragt werden, indem Folgendes aufgerufen wird:
OS.has_feature(name)
Standardfunktionen¶
Hier ist eine Liste der meisten Feature-Tags in Godot. Beachten Sie, dass bei ihnen die Groß- und Kleinschreibung beachtet wird:
Feature Tag |
Beschreibung |
---|---|
Android |
Läuft auf Android |
HTML5 |
Läuft unter HTML5 |
JavaScript |
JavaScript singleton ist verfügbar |
OSX |
Läuft unter MacOS |
iOS |
Läuft unter iOS |
UWP |
Läuft unter UWP |
Windows |
Läuft unter Windows |
X11 |
Läuft unter X11 (Linux/BSD-Desktop) |
Server |
Läuft auf der Headless-Server-Plattform |
debug |
Läuft auf einem Debug-Build (einschließlich des Editors) |
Veröffentlichung |
Läuft auf einem Release-Build |
Editor |
Läuft auf einem Editor-Build |
standalone |
Läuft auf einem Nicht-Editor-Build |
64 |
Läuft auf einem 64-bit System (jede Architektur) |
32 |
Läuft auf einem 32-bit System (jede Architektur) |
x86_64 |
Läuft auf einem 64-bit x86 |
x86 |
Läuft auf einem 32-bit x86 |
arm64 |
Läuft auf einem 64-bit ARM |
arm |
Läuft auf einem 32-Bit ARM |
Mobil |
Host OS ist eine mobile Plattform |
pc |
Host OS ist eine PC-Plattform (Desktop/Laptop) |
web |
Das Host OS ist ein Webbrowser |
etc |
Texturen mit ETC1-Komprimierung werden unterstützt |
etc2 |
Texturen mit ETC2-Komprimierung werden unterstützt |
s3tc |
Texturen die S3TC (DXT/BC) Kompression nutzen, werden unterstützt |
pvrtc |
Texturen mit PVRTC-Komprimierung werden unterstützt |
Warnung
With the exception of texture compression feature tags, default feature tags
are immutable. This means that they will not change depending on
run-time conditions. For example, OS.has_feature("mobile")
will return
false
when running a project exported to HTML5 on a mobile device.
To check whether a project exported to HTML5 is running on a mobile device, call JavaScript code that reads the browser's user agent.
Benutzerdefinierte Funktionen¶
Es ist möglich, benutzerdefinierte Features zu einem Build hinzuzufügen; verwenden Sie dazu das entsprechende Feld in der Exportvoreinstellung, die zur Erstellung des Builds verwendet wurde:
Bemerkung
Custom feature tags are only used when running the exported project (including with Bereitstellen mit einem Klick). They are not used when running the project from the editor, even if the export preset marked as Runnable for your current platform has custom feature tags defined.
Projekteinstellungen überschreiben¶
Funktionen können verwendet werden, um bestimmte Konfigurationswerte in den Projekt-Einstellungen außer Kraft zu setzen. Dadurch können Sie jede Konfiguration beim Erstellen eines Builds besser anpassen.
Im folgenden Beispiel wird ein anderes Symbol für den Demo-Build des Spiels hinzugefügt (der in einer speziellen Exportvoreinstellung angepasst wurde, die wiederum nur Demo-Levels enthält).
Nach dem Überschreiben wird ein neues Feld für diese spezielle Konfiguration hinzugefügt:
Bemerkung
Benutzt man die Funktion project settings "override.cfg" functionality (die unabhängig von den feature tags ist), sollte man beachten, dass die feature tags dennoch gelten. Aus diesem Grund sollte sichergestellt werden, dass die Einstellungen mit den/dem gewünschten feature tag(s) überschrieben werden, wenn Basis-Projekt-Einstellungen auf allen Plattformen und in allen Konfigurationen überschrieben werden sollen.
Standardüberschreibungen¶
Es gibt bereits eine Vielzahl von Einstellungen, die standardmäßig mit Überschreibungen versehen sind; sie sind in vielen Abschnitten der Projekteinstellungen zu finden.
Den Build anpassen¶
Feature-Tags können auch verwendet werden, um einen Build-Prozess anzupassen, indem ein benutzerdefiniertes ExportPlugin geschrieben wird. Sie werden auch verwendet, um anzugeben, welche Shared Library in GDNative geladen und exportiert wird.