Einmalig
Teil des Abschnitts Spielregeln der Godot-Journey von Coddy. Lektion 4 von 29.
Ein Timer startet jedes Mal neu, wenn er abläuft. Das ist für ein blinkendes Licht geeignet, aber eine Bombe sollte nur einmal explodieren.
Setze one_shot auf true, dann läuft der Timer einmal ab und hält anschließend an:
$Timer.one_shot = trueWenn du erneut start() aufrufst, startet er für einen weiteren Durchlauf.
In diesem Schloss öffnet E das Tor und startet einen Timer mit zwei Sekunden Laufzeit. Wenn der Timer abläuft, schließt er das Tor.
Aufgabe
EinfachSorge dafür, dass sich das Tor nur einmal schließt.
- Setze in
_ready()$Timer.one_shotauftrue. - Lass den Rest unverändert, damit E weiterhin das Tor öffnet.
Drücke „Spielen“ und dann E: Zwei Sekunden später schließt sich das Tor und bleibt geschlossen. Drücke dann „Prüfen“.
Probier es selbst
extends Node2D
func _ready():
$Timer.wait_time = 2
$Timer.timeout.connect(_on_timer_timeout)
func _process(delta):
if Input.is_action_just_pressed("action"):
$Gate.position.y = 20
$Timer.start()
func _on_timer_timeout():
$Gate.position.y += 140
Alle Lektionen in Spielregeln
Übe selbstständig: Godot-Playground