Nachdem du Godot erfolgreich installiert und einen ersten Blick auf den Editor geworfen hast, tauchen wir nun in das Herzstück der Godot Engine ein: Scenes und Nodes. Wenn du aus der Welt der Programmierung kommst, kannst du dir Nodes als die Objekte deines Spiels vorstellen, und Scenes als die Art und Weise, wie diese Objekte organisiert und wiederverwendet werden.
Was sind Szenen und Nodes?
In Godot ist eine Scene eine Sammlung von Nodes, die in einer Baumstruktur organisiert sind – dem Scene-Tree, den du im Scene-Dock siehst. Eine Scene kann alles Mögliche darstellen: einen einzelnen Charakter, ein Objekt in der Spielwelt, ein Level oder sogar das gesamte Spiel. Das Geniale daran ist, dass Szenen wiederverwendbar sind und du sie in andere Szenen instanziieren kannst.
Jede Szene benötigt einen Root Node. Das ist der oberste Node in der Baumstruktur deiner Szene.
Schritt 1: Eine neue Scene erstellen und einen Wurzel-Node hinzufügen
Wir beginnen damit, eine leere Leinwand für unser Spiel zu schaffen:
- Gehe im Menü oben auf Scene -> New Scene (oder drücke Strg + N).
- Godot fragt dich nun (links im Node-Dock), welchen Typ von Node du als Wurzel für diese neue Szene verwenden möchtest. Du siehst eine Liste von Node-Typen.
- Da wir uns auf 2D konzentrieren, wählen wir einen passenden 2D-Node. Für unseren Fall Node2D. Er hat Eigenschaften wie Position, Rotation und Skalierung im 2D-Raum.
- Klicke dazu einfach auf „Scene 2D“ im Scene Dock.
Du solltest nun im Scene-Dock (links oben) „Node2D“ als Root-Node sehen.
Schritt 2: Die Szene speichern
Bevor wir weitere Elemente hinzufügen, ist es wichtig, unsere Szene zu speichern:
- Gehe im Menü auf Scene -> Save Scene (oder drücke Strg + S).
- Godot öffnet einen Speicher-Dialog.
- Gib deiner Szene einen Namen, z.B.
main_scene
. Godot fügt automatisch die Dateiendung.tscn
hinzu. - Speichere die Szene im Hauptverzeichnis deines Projekts (dort, wo die
project.godot
Datei liegt). Später werden wir Ordner für Szenen erstellen, aber für die erste Szene ist das Projekt-Root in Ordnung. - Klicke auf Save.
Du solltest nun im Filesystem-Dock (links unten) die Datei main_scene.tscn
sehen.
Schritt 3: Einen weiteren Node hinzufügen
Jetzt fügen wir der Szene etwas Sichtbares hinzu. Wir werden einen Sprite2D Node hinzufügen, der einfach ein 2D-Bild anzeigen kann. Nodes werden als Kinder anderer Nodes hinzugefügt, um die Baumstruktur zu bilden. Ein Kind-Node erbt die Transformation (Position, Rotation, Skalierung) seines Eltern-Nodes.
- Stelle sicher, dass du im Scene-Dock den Node2D (deinen Wurzel-Node) ausgewählt hast.
- Klicke auf den Button „+“ (Add Child Node) oberhalb des Scene-Trees.
- Suche in der Liste nach Sprite2D (du kannst die Liste filtern).
- Wähle Sprite2D aus und klicke auf Create (oder doppelklicke).
Du solltest jetzt im Scene-Dock sehen, dass unter deinem Node2D ein Sprite2D eingerückt ist. Das zeigt die Eltern-Kind-Beziehung (Node2D ist der Elternteil von Sprite2D).
Schritt 4: Dem Sprite ein Bild zuweisen
Ein Sprite2D Node ist dazu da, ein 2D-Bild anzuzeigen. Dieses Bild wird in Godot als Texture bezeichnet. Ein Sprite2D benötigt also eine zugewiesene Texture, um sichtbar zu sein. Hier kommt der Inspector ins Spiel, dein Werkzeug, um die Eigenschaften des aktuell ausgewählten Nodes zu sehen und zu ändern.
- Klicke im Scene-Dock auf deinen Sprite2D Node, um ihn auszuwählen. Der Inspector sollte sich nun aktualisieren und die Eigenschaften des Sprite2D Nodes anzeigen.
- Suche im Inspector (rechts am Bildschirm) nach der Eigenschaft „Texture“ (ganz oben, im Abschnitt „Sprite2D“). Momentan steht dort „<empty>“.
- Klicke auf das Dropdown-Menü oder das Wort „<empty>. Es öffnet sich ein Menü.
- Wähle im Menü „Load“.
- Es öffnet sich ein Dateidialog, der standardmäßig in deinem Projektordner ist. Godot-Projekte enthalten standardmäßig eine Datei namens
icon.svg
(das Godot-Logo). Diese ist perfekt, um sie als erste Texture zu verwenden. - Wähle die Datei
icon.svg
aus und klicke auf Open.
Schau jetzt in den zentralen Viewport. Du solltest nun das Godot-Logo Mitte sehen.
Schritt 5: Den Sprite positionieren
Dein Sprite2D ist ein Child des Node2D. Node2D hat eine Transform-Eigenschaft, die Position, Rotation und Skalierung im 2D-Raum bestimmt. Da Sprite2D ein Child ist, erbt es diese Transformation und hat zusätzlich eigene.
- Stelle sicher, dass dein Sprite2D Node immer noch im Scene Dock (links) ausgewählt ist und seine Eigenschaften im Inspector (rechts) angezeigt werden.
- Suche im Inspector den Abschnitt „Transform“.
- Unter „Transform“ findest du die Eigenschaft „Position“, die aus X- und Y-Koordinaten besteht. Die Mitte des Viewports ist standardmäßig bei (0, 0).
- Ändere die Werte für X und Y, z.B. setze X auf 100 und Y auf 100. Beobachte, wie sich der Sprite im Viewport verschiebt.
- Alternativ: Wähle in der Toolbar (oben) das „Move“ Werkzeug aus (Fadenkreuz-Symbol mit den Pfeilen, Shortcut: W). Klicke auf den Sprite im Viewport und ziehe ihn mit der Maus herum. Du siehst, wie sich die „Position“-Werte im Inspector ändern, während du ihn bewegst.
Tipp: Der Umgang mit den Werkzeugen ist ein wenig gewöhnungsbedürftig. Wenn im Viewport mal was nicht so funktioniert, wie du erwartest, liegt es mit hoher Wahrscheinlichkeit daran, dass du das falsche Werkzeug ausgewählt hast. Am besten stellst du es immer wieder zurück auf „Select Mode“ (das ist das Pfeil-Symbol, Shortcut: Q).
Schritt 6: Eine weitere Eigenschaft ändern
Um ein Gefühl für den Inspector zu bekommen, kannst du versuchen, eine andere Eigenschaft zu ändern:
- Suche im Inspector nach dem Abschnitt „Visibility“.
- Finde die Eigenschaft „Modulate“. Diese steuert die Farbe und Transparenz des Sprites.
- Klicke auf das Farbfeld neben „Modulate“. Ein Farbwähler öffnet sich. Wähle eine beliebige Farbe aus und sieh, wie sich die Farbe des Sprites im Viewport ändert.
Szenen im Spielmodus ausführen
Du hast jetzt eine Scene erstellt, einen Sprite hinzugefügt, ihm eine Texture gegeben und ihn positioniert. Aber wie sieht das Ganze im Spiel aus? Godot bietet dir zwei Hauptmöglichkeiten, dein Spiel oder deine Scene auszuführen:
- Aktuelle Scene ausführen: Dies startet nur die Scene, die du gerade im Editor geöffnet hast. Das ist super nützlich, wenn du an einem bestimmten Teil deines Spiels arbeitest (z.B. einem Charakter, einem Level) und ihn schnell testen willst, ohne das gesamte Spiel zu starten.
- Projekt ausführen: Dies startet das gesamte Spiel ab der „Main Scene“, die du im Projekt festgelegt hast (machen wir später).
Schritt 7: Die aktuelle Scene ausführen
- Schau in die Toolbar ganz oben rechts.
- Suche den Button „Run Current Scene“. Er sieht aus wie ein Filmklappen-Symbol mit einem Play-Button darauf. Das Tastenkürzel dafür ist F6.
- Klicke diesen Button (oder drücke F6).
Es öffnet sich ein neues Fenster, das deine main_scene.tscn
anzeigt. Du siehst das Godot-Logo an der Position, die du zuvor im Editor eingestellt hast.
Schritt 8: Das Projekt ausführen und die Main Scene festlegen
Wenn du das erste Mal das gesamte Projekt startest, fragt Godot dich, welche Scene die Main Scene sein soll. Diese Scene wird immer als Erstes geladen, wenn das Spiel startet.
- Schau wieder in die Toolbar ganz oben rechts.
- Klicke nun auf den ganz linken Play-Button „Run Project“ (oder drücke das Tastenkürzel F5).
- Da dies das erste Mal ist, dass du das Projekt startest, erscheint ein Dialogfenster, das dich fragt: „No main scene has ever been defined. Select one?“.
- Klicke auf „Select“.
- Es öffnet sich ein Dateidialog. Wähle deine Datei
main_scene.tscn
aus. - Klicke auf „Open“.
- Da wir nur eine Scene haben, kannst du auch einfach auf „Select Current“ klicken.
Godot wird nun die main_scene.tscn
als Main Scene für dein Projekt festlegen und sie dann ausführen. Du siehst wieder dasselbe Fenster mit dem Godot-Logo.
Beim nächsten Mal, wenn du F5 drückst, wird diese Scene direkt gestartet, ohne dass du gefragt wirst. Die Einstellung wird in der project.godot
-Datei gespeichert.
Dein nächster Schritt
Sehr gut, du hast eine Scene erstellt, einen Sprite2D hinzugefügt und mit einer Textur versehen und dein Spiel gestartet.
Als nächstes werden wir ein Script an den Sprite anhängen und damit für ein wenig Bewegung sorgen.