Menu
CoddyTech

Ausweichen: Spiel vorbei

Teil des Abschnitts Spielregeln der Godot-Journey von Coddy. Lektion 28 von 29.

Bei null Leben geht das Spiel weiter. Der Punktestand zählt weiter und die Leben gehen unter null.

Beende das Spiel wie im Stachelraum. Zeige das versteckte GameOver-Label an und pausiere das Spiel. Die Pause stoppt beide Timer, sodass der Punktestand bei der Anzahl der Sekunden bleibt, die du überlebt hast. Die Blöcke bleiben dort stehen, wo sie sind.

if lives == 0:
	$HUD/GameOver.visible = true
	get_tree().paused = true
challenge icon

Aufgabe

Mittel

Beende das Spiel, wenn die Leben aufgebraucht sind.

  1. Prüfe in _on_player_hurt() nach der Beschriftungszeile, ob lives 0 ist.
  2. Wenn ja, zeige $HUD/GameOver an und pausiere das Spiel.

Drücke auf „Spielen“ und lass dich dreimal treffen: „Game Over“ wird angezeigt und die Blöcke halten an. Drücke dann auf „Prüfen“.

Probier es selbst

extends Node2D

var block_scene = preload("res://block.tscn")
var score = 0
var lives = 3

func _ready():
	$HUD/Score.text = "Score: %d" % score
	$HUD/Lives.text = "Lives: %d" % lives
	$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
	$ScoreTimer.timeout.connect(_on_score_timer_timeout)
	$Player.hurt.connect(_on_player_hurt)

func _on_spawn_timer_timeout():
	var block = block_scene.instantiate()
	block.position = Vector2(randf_range(40, 600), -30)
	add_child(block)

func _on_score_timer_timeout():
	score += 1
	$HUD/Score.text = "Score: %d" % score

func _on_player_hurt():
	lives -= 1
	$HUD/Lives.text = "Lives: %d" % lives

Alle Lektionen in Spielregeln

Übe selbstständig: Godot-Playground