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.visibleDer Held hat eine versteckte Lamp an seiner Antenne. Die action-Tasten sind E und Enter.
Aufgabe
EinfachSchalte die Lampe des Helden mit einer Taste ein und aus.
- Füge in
_unhandled_input(event)einiffürevent.is_action_pressed("action")hinzu. - Setze darin
$Lamp.visibleauf 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
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
1Eingabeaktionen
Drücken zum BewegenLinks und rechtsEine AchseVier RichtungenGerade erst gedrücktNicht behandelte EingabeÜbe selbstständig: Godot-Playground