Menu
CoddyTech

Ausweichen: Noch einmal spielen

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

Der letzte Schritt ermöglicht es dem Spieler, nach dem Spielende E zu drücken, um erneut zu spielen.

Das hast du im Stachelraum gemacht. Setze Mains process_mode auf Node.PROCESS_MODE_ALWAYS, damit _process ausgeführt wird, während das Spiel pausiert ist. Der Spieler, beide Timer und jeder Block sind in ihren Szenen auf „Pausierbar“ gesetzt, sodass sie weiterhin angehalten werden. Beim Drücken der Taste hebst du die Pause auf und lädst die Szene neu:

func _process(delta):
	if lives == 0 and Input.is_action_just_pressed("action"):
		get_tree().paused = false
		get_tree().reload_current_scene()

Beim Neuladen werden alle Blöcke, die Punktzahl und die Leben zurückgesetzt. Zeige bei Spielende auch das Hint-Label an, damit der Spieler weiß, welche Taste er drücken muss.

challenge icon

Aufgabe

Schwer

Lass den Spieler E drücken, um erneut zu spielen.

  1. Setze in _ready() den process_mode dieses Knotens auf Node.PROCESS_MODE_ALWAYS.
  2. Zeige bei Spielende auch $HUD/Hint an.
  3. Füge _process() hinzu: Wenn lives 0 ist und action gerade gedrückt wurde, hebe die Pausierung des Spiels auf und lade die Szene neu.

Drücke „Spielen“, verliere und drücke E: Ein neues Spiel beginnt mit Score: 0. Drücke dann „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
	if lives == 0:
		$HUD/GameOver.visible = true
		get_tree().paused = true
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Spielregeln

Übe selbstständig: Godot-Playground