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.
Aufgabe
SchwerLass den Spieler E drücken, um erneut zu spielen.
- Setze in
_ready()denprocess_modedieses Knotens aufNode.PROCESS_MODE_ALWAYS. - Zeige bei Spielende auch
$HUD/Hintan. - Füge
_process()hinzu: Wennlives0 ist undactiongerade 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
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Spielregeln
6Projekt: Ausweichen
Ausweichen: Fallende BlöckeAusweichen: PunktestandÜbe selbstständig: Godot-Playground