Dix tuyaux pour gagner
Fait partie de la section Projets du Journey Godot de Coddy. Leçon 25 sur 33.
Le joueur peut perdre, mais pas encore gagner. À un score de 10, affichez You Win! et mettez le jeu en pause. Testez cela à l’endroit où le score augmente :
if score == 10:
$HUD/Message.text = "You Win!"
get_tree().paused = trueEnfin, permettez au joueur de rejouer. Pendant que le jeu est en pause, la barre d’espace recharge la scène. Main est en mode Always, donc son _process continue de s’exécuter :
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("jump"):
get_tree().paused = false
get_tree().reload_current_scene()La barre d’espace est aussi la touche de battement d’ailes. Le flyer est en mode Pausable, il ignore donc la pression de la touche lorsque le jeu est en pause.
Défi
Moyen- Lorsque le score atteint 10, affichez
You Win!et mettez le jeu en pause. - Lorsque le jeu est en pause, appuyez sur Espace (
jump) pour reprendre et recharger la scène.
Essayez vous-même
extends Node2D
const PIPE = preload("res://pipe.tscn")
var score = 0
func _ready():
$PipeTimer.timeout.connect(_on_pipe_timer_timeout)
$Flyer.crashed.connect(_on_crash)
$HUD/Score.text = "0"
func _on_pipe_timer_timeout():
var pipe = PIPE.instantiate()
pipe.position = Vector2(700, randf_range(100, 250))
pipe.hit.connect(_on_crash)
pipe.scored.connect(_on_scored)
$Pipes.add_child(pipe)
func _on_crash():
$HUD/Message.text = "Game Over"
get_tree().paused = true
func _on_scored():
score += 1
$HUD/Score.text = str(score)
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Projets
3Projet : Flappy Flyer
La gravité du FlyerFaire battre les ailes du FlyerEntraînez-vous par vous-même : Playground Godot