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.
Défi
DifficilePermets au joueur d’appuyer sur E pour rejouer.
- Dans
_ready(), définisprocess_modede ce nœud surNode.PROCESS_MODE_ALWAYS. - À la fin de la partie, affiche aussi
$HUD/Hint. - Ajoute
_process(): lorsquelivesvaut 0 et queactionvient 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
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
3Vies et défaites
ViesFin de partieMettre le jeu en pauseMode de traitementRedémarrer avec une touche6Projet : Esquive
Esquive : Blocs qui tombentEsquive : ScoreEntraînez-vous par vous-même : Playground Godot