Menu
CoddyTech

Nicht behandelte Eingabe

Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 6 von 28.

Godot kann dir auch etwas über Tasten mitteilen. Jeder Tastendruck und jedes Loslassen einer Taste ist ein Ereignis. Godot sendet jedes Ereignis an eine Funktion namens _unhandled_input:

func _unhandled_input(event):
	if event.is_action_pressed("action"):
		print("Action!")

Die Funktion wird einmal pro Ereignis ausgeführt, nicht in jedem Frame. event.is_action_pressed("action") ist wahr, wenn die Taste action beim Ereignis gedrückt wird. Beim Loslassen ist der Wert falsch.

not wandelt true in false um und umgekehrt. Diese Zeile schaltet einen Knoten ein und aus:

$Lamp.visible = not $Lamp.visible

Der Held hat eine versteckte Lamp an seiner Antenne. Die action-Tasten sind E und Enter.

challenge icon

Aufgabe

Einfach

Schalte die Lampe des Helden mit einer Taste ein und aus.

  1. Füge in _unhandled_input(event) ein if für event.is_action_pressed("action") hinzu.
  2. Setze darin $Lamp.visible auf das Gegenteil seines aktuellen Werts.

Drücke „Spielen“ und drücke E: Die Lampe geht an, und beim nächsten Drücken geht sie aus. Drücke dann „Prüfen“.

Probier es selbst

extends Node2D

func _unhandled_input(event):
	pass
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Eingabe und Bewegung

Übe selbstständig: Godot-Playground