Durch den Dungeon gehen
Teil des Abschnitts Projekte der Godot-Journey von Coddy. Lektion 29 von 36.
Das letzte Projekt ist ein Dungeon-Crawler in Draufsicht. Der Held nimmt einen Schlüssel, öffnet eine Tür, kommt an einer Wache vorbei und erreicht die Treppe.
Die Skripte sind hero.gd, enemy.gd und main.gd. Die Wände sind ein StaticBody2D namens Walls, das sich bereits in der Szene befindet.
Der Held bewegt sich in vier Richtungen. Input.get_vector liest alle vier Tasten und gibt eine Richtung der Länge 1 zurück, sodass diagonale Bewegungen nicht schneller sind. move_and_slide() bewegt den Körper anhand seiner velocity und lässt ihn an Wänden entlanggleiten:
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()move_and_slide verwendet delta selbst, du musst also nicht damit multiplizieren.
Aufgabe
EinfachFühre den Helden durch den Dungeon.
- Füge in
hero.gdconst SPEED = 160hinzu. - Setze in jedem Physik-Frame
velocityaufInput.get_vectorder vier Bewegungsaktionen multipliziert mitSPEEDund rufe dannmove_and_slide()auf.
Drücke auf „Spielen“ und laufe: Die Wände halten den Helden auf. Drücke danach auf „Prüfen“.
Probier es selbst
extends CharacterBody2D
func _physics_process(delta):
pass
Alle Lektionen in Projekte
1Projekt: Breakout
Breakout-SchlägerDen Schläger im Bild halten4Projekt: Dungeon-Crawler
Durch den Dungeon gehenDen Schlüssel aufhebenÜbe selbstständig: Godot-Playground