Menu
CoddyTech

Ausweichen: Leben

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

Die Blöcke zerbrechen jetzt beim Spieler, aber es passiert nichts. Gib dem Spieler drei Leben.

Wenn ein Block auf dem Spieler landet, sendet er das Signal hurt des Spielers und zerbricht. Der Spieler blinkt rot. Verbinde $Player.hurt und ziehe jedes Mal ein Leben ab:

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

Das Label Lives befindet sich rechts in der oberen Leiste.

challenge icon

Aufgabe

Mittel

Gib dem Spieler drei Leben.

  1. Füge oben var lives = 3 hinzu und zeige Lives: 3 auf $HUD/Lives in _ready() an.
  2. Verbinde $Player.hurt mit _on_player_hurt.
  3. Ziehe in _on_player_hurt() ein Leben ab und zeige den neuen Wert an.

Drücke „Spielen“ und stelle dich unter einen Block: Die Anzeige wechselt zu Lives: 2. Drücke dann „Prüfen“.

Probier es selbst

extends Node2D

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

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

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

Alle Lektionen in Spielregeln

Übe selbstständig: Godot-Playground