Menu
CoddyTech

Esquive : Rejouer

Fait partie de la section Règles du jeu du Journey Godot de Coddy. Leçon 29 sur 29.

La dernière étape permet au joueur d’appuyer sur E après le Game Over pour rejouer.

Tu as fait cela dans la salle des piques. Définis process_mode de Main sur Node.PROCESS_MODE_ALWAYS, afin que son _process s’exécute pendant que le jeu est en pause. Le joueur, les deux minuteurs et chaque bloc sont définis comme pouvant être mis en pause dans leurs scènes, ils s’arrêtent donc toujours. À l’appui sur la touche, enlève la pause et recharge la scène :

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

Le rechargement supprime tous les blocs, le score et les vies. Affiche également le libellé Hint à la fin de la partie, pour que le joueur sache sur quelle touche appuyer.

challenge icon

Défi

Difficile

Permets au joueur d’appuyer sur E pour rejouer.

  1. Dans _ready(), définis process_mode de ce nœud sur Node.PROCESS_MODE_ALWAYS.
  2. À la fin de la partie, affiche aussi $HUD/Hint.
  3. Ajoute _process() : lorsque lives vaut 0 et que action vient d’être enfoncée, remets le jeu en pause et recharge la scène.

Appuie sur « Jouer », perds et appuie sur E : une nouvelle partie commence avec Score: 0. Ensuite, appuie sur « Vérifier ».

Essayez vous-même

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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Règles du jeu

Entraînez-vous par vous-même : Playground Godot