Mit zehn Rohren gewinnen
Teil des Abschnitts Projekte der Godot-Journey von Coddy. Lektion 25 von 33.
Der Spieler kann verlieren, aber noch nicht gewinnen. Zeige bei einem Punktestand von 10 You Win! an und pausiere das Spiel. Teste das dort, wo der Punktestand steigt:
if score == 10:
$HUD/Message.text = "You Win!"
get_tree().paused = trueZum Schluss soll der Spieler erneut spielen können. Wenn das Spiel pausiert ist, lädt die Leertaste die Szene neu. Main ist Always, daher läuft _process weiterhin:
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("jump"):
get_tree().paused = false
get_tree().reload_current_scene()Die Leertaste ist auch die Flattertaste. Der Flieger ist Pausable und ignoriert daher den Tastendruck, solange das Spiel pausiert ist.
Aufgabe
Mittel- Wenn der Punktestand 10 erreicht, zeige
You Win!an und pausiere das Spiel. - Während das Spiel pausiert ist, hebt die Leertaste (
jump) die Pause auf und lädt die Szene neu.
Probier es selbst
extends Node2D
const PIPE = preload("res://pipe.tscn")
var score = 0
func _ready():
$PipeTimer.timeout.connect(_on_pipe_timer_timeout)
$Flyer.crashed.connect(_on_crash)
$HUD/Score.text = "0"
func _on_pipe_timer_timeout():
var pipe = PIPE.instantiate()
pipe.position = Vector2(700, randf_range(100, 250))
pipe.hit.connect(_on_crash)
pipe.scored.connect(_on_scored)
$Pipes.add_child(pipe)
func _on_crash():
$HUD/Message.text = "Game Over"
get_tree().paused = true
func _on_scored():
score += 1
$HUD/Score.text = str(score)
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Projekte
3Projekt: Flatterflieger
Schwerkraft für den FliegerDen Flieger flattern lassenÜbe selbstständig: Godot-Playground