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 oder release 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:

../../_images/feature_tags1.png

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

../../_images/feature_tags2.png

Nach dem Überschreiben wird ein neues Feld für diese spezielle Konfiguration hinzugefügt:

../../_images/feature_tags3.png

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.

../../_images/feature_tags4.png

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.