Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach

Führe den Helden durch den Dungeon.

  1. Füge in hero.gd const SPEED = 160 hinzu.
  2. Setze in jedem Physik-Frame velocity auf Input.get_vector der vier Bewegungsaktionen multipliziert mit SPEED und rufe dann move_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

Übe selbstständig: Godot-Playground