Kommandozeilen-Tutorial
Einige Entwickler verwenden gerne und ausgiebig die Befehlszeile. Godot ist so konzipiert, dass es mit ihnen kompatibel ist. Hier sind die Schritte, um vollständig über die Befehlszeile zu arbeiten. Da die Engine fast keine externen Bibliotheken benötigt, sind die Initialisierungszeiten recht kurz, was sie für diesen Workflow geeignet macht.
Bemerkung
Unter Windows und Linux können Sie eine Godot-Binärdatei in einem Terminal ausführen, indem Sie den relativen oder absoluten Pfad angeben.
Unter macOS ist der Prozess anders, da Godot in einem .app-Bundle enthalten ist (was ein Ordner ist, keine Datei). Um eine Godot-Binärdatei von einem Terminal unter macOS aus zu starten, müssen Sie mit cd in den Ordner wechseln, in dem sich das Godot-Anwendungspaket befindet, und dann Godot.app/Contents/MacOS/Godot gefolgt von beliebigen Kommandozeilenargumenten ausführen. Wenn Sie das Anwendungspaket Godot umbenannt haben, stellen Sie sicher, dass Sie diese Kommandozeile entsprechend ändern.
Kommandozeilen-Referenz
Legende
Verfügbar in Editor-Builds, Debug-Exportvorlagen und Release-Exportvorlagen.
Nur in Editor-Builds und Debug-Exportvorlagen verfügbar.
Nur in Editor-Builds verfügbar.
Beachten Sie, dass unbekannte Kommandozeilenargumente keinerlei Auswirkungen haben. Die Engine wird Sie nicht warnen, wenn Sie ein Kommandozeilenargument verwenden, das für einen bestimmten Build-Typ nicht existiert.
Allgemeine Optionen
Befehl |
Beschreibung |
|
|
|
|
|
|
|
|
Ausführen-Optionen
Befehl |
Beschreibung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Anzeige-Optionen
Befehl |
Beschreibung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Debug-Optionen
Befehl |
Beschreibung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eigenständige Tools
Befehl |
Beschreibung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pfad
Es wird empfohlen, die Godot-Editor-Binärdatei in der PATH-Umgebungsvariablen zu platzieren, so dass sie leicht von jedem Ort aus durch Eingabe von godot ausgeführt werden kann. Unter Linux können Sie dies tun, indem Sie die Godot-Binärdatei in /usr/local/bin ablegen und sicherstellen, dass sie godot heißt (Groß- und Kleinschreibung beachten).
Um dies unter Windows oder macOS einfach zu erreichen, können Sie Godot mit Scoop (unter Windows) oder Homebrew (unter macOS) installieren. Dadurch wird die installierte Kopie von Godot automatisch im PATH verfügbar gemacht:
# Add "Extras" bucket
scoop bucket add extras
# Standard editor:
scoop install godot
# Editor with C# support (will be available as `godot-mono` in `PATH`):
scoop install godot-mono
# Standard editor:
brew install godot
# Editor with C# support (will be available as `godot-mono` in `PATH`):
brew install godot-mono
Projektpfad setzen
Je nachdem, wo sich Ihre Godot-Binärdatei befindet und welches Ihr aktuelles Arbeitsverzeichnis ist, müssen Sie möglicherweise den Pfad zu Ihrem Projekt festlegen, damit einer der folgenden Befehle korrekt funktioniert.
Beim Starten des Editors kann der Pfad zur project.godot-Datei des Projekts entweder wie folgt als erstes Argument eingetragen werden:
godot path_to_your_project/project.godot [other] [commands] [and] [args]
Für alle Befehle kann dies mit dem Argument --path erfolgen:
godot --path path_to_your_project [other] [commands] [and] [args]
Zum Beispiel, der vollständige Befehl zum exportieren Ihres Spiels (wie unten beschrieben) sieht in etwa so aus:
godot --headless --path path_to_your_project --export-release my_export_preset_name game.exe
Wenn Sie aus einem Unterverzeichnis Ihres Projekts starten, verwenden Sie das Argument --upwards, damit Godot automatisch die Datei project.godot findet, indem es die übergeordneten Verzeichnisse rekursiv durchsucht.
Zum Beispiel könnte die Ausführung einer Szene (wie unten erklärt) in einem Unterverzeichnis wie folgt aussehen, wenn sich Ihr Arbeitsverzeichnis im selben Pfad befindet:
godot --upwards nested_scene.tscn
Projekt erzeugen
Ein Projekt kann von der Kommandozeile aus erstellt werden, indem man in der Shell zum gewünschten Ort navigiert und eine project.godot-Datei erstellt.
mkdir newgame
cd newgame
touch project.godot
Das Projekt kann nun mit Godot geöffnet werden.
Editor starten
Die Ausführung des Editors erfolgt durch die Ausführung von Godot mit dem Flag -e. Dies muss aus dem Projektverzeichnis heraus geschehen oder durch Setzen des Projektpfades wie oben beschrieben, sonst wird der Befehl ignoriert und der Projektmanager erscheint.
godot -e
Wenn der vollständige Pfad zur Datei project.godot übergeben wird, kann das -e-Flag weggelassen werden.
Wenn eine Szene erstellt und gespeichert wurde, kann sie später bearbeitet werden, indem derselbe Code mit dieser Szene als Argument ausgeführt wird.
godot -e scene.tscn
Szene löschen
Godot ist mit wird Ihrem Dateisystem zuliebe keine zusätzlichen Metadaten-Dateien erstellen. Verwenden Sie rm, um eine Szenendatei zu löschen. Stellen Sie sicher, dass nichts auf diese Szene verweist. Andernfalls wird beim Öffnen des Projekts ein Fehler ausgelöst.
rm scene.tscn
Spiel starten
Um das Spiel zu starten, führen Sie Godot im Projektverzeichnis oder mit dem Projektpfad aus, wie oben erklärt.
godot
Beachten Sie, dass die Übergabe der Datei project.godot immer den Editor startet, anstatt das Spiel zu starten.
Wenn eine spezielle Szene getestet werden soll, fügen Sie diese Szene in die Eingabeaufforderung ein.
godot scene.tscn
Debugging
Das Auffinden von Fehlern in der Kommandozeile kann eine schwierige Aufgabe sein, da sie schnell durchlaufen. Zu diesem Zweck wird ein Kommandozeilen-Debugger durch Hinzufügen von -d bereitgestellt. Er funktioniert entweder für das Spiel oder eine einzelne Szene.
godot -d
godot -d scene.tscn
Exportieren
Das Exportieren des Projekts von der Kommandozeile aus wird ebenfalls unterstützt. Dies ist besonders nützlich für die Continuous Integration.
Bemerkung
Die Verwendung des Kommandozeilenarguments --headless ist erforderlich auf Plattformen, die keinen GPU-Zugriff haben (z.B. Continuous Integration). Auf Plattformen mit GPU-Zugriff verhindert --headless, dass ein Fenster erscheint, während das Projekt exportiert wird.
# `godot` must be a Godot editor binary, not an export template.
# Also, export templates must be installed for the editor
# (or a valid custom export template must be defined in the export preset).
godot --headless --export-release "Linux/X11" /var/builds/project
godot --headless --export-release Android /var/builds/project.apk
Der Name der Vorgabe muss mit dem Namen einer Exportvorgabe übereinstimmen, die in der Datei export_presets.cfg des Projekts definiert ist. Wenn der Vorgabenname Leerzeichen oder Sonderzeichen enthält (z. B. "Windows Desktop"), muss er mit Anführungszeichen umgeben werden.
Um eine Debug-Version des Spiels zu exportieren, verwenden Sie den Schalter --export-debug anstelle von --export-release. Die Parameter und die Verwendung sind die gleichen.
Um nur eine PCK-Datei zu exportieren, verwenden Sie die Option --export-pack, gefolgt von dem Vorgabenamen und dem Ausgabepfad, mit der Dateierweiterung, anstelle von --export-release oder --export-debug. Die Erweiterung des Ausgabepfades bestimmt das Format des Pakets, entweder PCK oder ZIP.
Warnung
Wenn ein relativer Pfad als Pfad für --export-release, --export-debug oder --export-pack angegeben wird, ist der Pfad relativ zu dem Verzeichnis, das die Datei project.godot enthält, nicht relativ zum aktuellen Arbeitsverzeichnis.
Ein Skript ausführen
Es ist möglich, ein .gd-Skript über die Befehlszeile auszuführen. Diese Funktion ist besonders bei großen Projekten nützlich, z.B. für die Batch-Konvertierung von Assets oder den benutzerdefinierten Import/Export.
Das Skript muss von SceneTree oder MainLoop erben.
Hier ist ein Beispiel sayhello.gd, das zeigt, wie es funktioniert:
#!/usr/bin/env -S godot -s
extends SceneTree
func _init():
print("Hello!")
quit()
Und so wird es ausgeführt:
# Prints "Hello!" to standard output.
godot -s sayhello.gd
Wenn kein project.godot im Pfad existiert, wird der aktuelle Pfad als das aktuelle Arbeitsverzeichnis angenommen (es sei denn, --path ist angegeben).
The script path will be interpreted as a resource path relative to
the project, here res://sayhello.gd. You can also use an absolute
filesystem path instead, which is useful if the script is located
outside of the project directory.
Die erste Zeile von sayhello.gd oben wird allgemein als shebang bezeichnet. Wenn sich die Godot-Binärdatei in Ihrem PATH als godot befindet, können Sie das Skript in modernen Linux-Distributionen sowie unter MacOS wie folgt ausführen:
# Mark script as executable.
chmod +x sayhello.gd
# Prints "Hello!" to standard output.
./sayhello.gd
Wenn das oben genannte unter Ihrer aktuellen Linux- oder MacOS-Version nicht funktioniert, können Sie den "Shebang" immer wie folgt direkt von Godot ausführen lassen:
#!/usr/bin/godot -s