Benutzer-Werkzeuge

Webseiten-Werkzeuge


godot:projekt:unterbrechen

Anwendung beenden

Um die Ausführung der Anwendung von Seitens des Skriptes zu beenden, sind folgende Zeilen als Beispiel zu sehen.

if Input.is_key_pressed(KEY_Q):
	self.get_tree().quit()

Zurücksetzen

Stirbt der Spieler, können wir mit den folgenden Zeilen die Szene wieder in ihren Ursprung zurücksetzen.

# Zurücksetzen einer Szene
get_tree().reload_current_scene()

Pausieren

Bevor man eine Anwendung pausiert, muss man sich Gedanken machen, wie man selbige wieder aktiviert. Es müssen Nodes von der Pausenfunktion ausgenommen werden, ansonsten gibt es kein Zurück.

Ob ein Node bei einer Pause „Einfriert“ oder weiter abgearbeitet wird, hängt von einem Parameter ab, dessen mögliche Werte anschließend aufgelistet werden.

Inspektor ⇒ Pause ⇒ Mode

Inherit: Erbt verhalten des Eltern-Nodes
Stop: Stoppt unabhängig vom Status des Eltern-Nodes
Process: Ausführen unabhängig vom Status des Eltern-Nodes

Folgende Beispielszene soll die Anwendung von der Pause verdeutlichen:

Hierbei fügen wir dem Button pause_start zunächst ein Skript hinzu und wechseln wieder in den 2D-Editor und selektieren dort den Button. Über: Node ⇒ Signale ⇒ BaseButton ⇒ pressed()

erstellen wir eine Funktion und im Dialogfenster weisen wir diese dem Button pause_start zu. Danach erweitern wir die Funktion um diese Zeilen:

func _on_pause_start_pressed():
	self.get_tree().paused = true
	$"../Panel".show()    # Panel sichtbar

Das Panel soll nicht in den Pause-Modus wechseln, deswegen ändern wir hier den Mode
Inspektor ⇒ Pause ⇒ Mode = Process

Auf(Innerhalb) des Panels befindet sich ein Label zum Beschriften und ein Botton um die Pause zu beenden. Auch diesem Button weisen wir wieder ein Skript zu und wechseln wieder in den 2D-Editor und selektieren dort den Button.

Node ⇒ Signale ⇒ BaseButton ⇒ pressed()
erstellen wir eine Funktion und im Dialogfenster weisen wir diese dem Button pause_end zu. Danach erweitern wir die Funktion um diese Zeilen:

func _on_pause_end_pressed():
	$"../../Panel".hide()    # Panel unsichtbar
	get_tree().paused = false

Das Panel soll zunächst nicht sichtbar sein, deswegen
Inspektor ⇒ Visibility ⇒ Visibility = Aus

godot/projekt/unterbrechen.txt · Zuletzt geändert: 2020/10/11 22:48 (Externe Bearbeitung)