Menu
CoddyTech

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 = true

Wenn 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.

challenge icon

Aufgabe

Einfach

Sorge dafür, dass sich das Tor nur einmal schließt.

  1. Setze in _ready() $Timer.one_shot auf true.
  2. 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