Dez canos para vencer
Parte da seção Projetos do Journey de Godot da Coddy. Lição 28 de 36.
O jogador pode perder, mas ainda não pode vencer. Ao atingir 10 pontos, mostre You win! e pause o jogo. Teste isso onde a pontuação aumenta:
if score == 10:
$HUD/Message.text = "You win!"
get_tree().paused = truePor último, permita que o jogador jogue novamente. Enquanto o jogo estiver pausado, a tecla Espaço recarrega a cena. Main é Always, então seu _process continua sendo executado:
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("jump"):
get_tree().paused = false
get_tree().reload_current_scene()Espaço também é a tecla para bater as asas. O personagem voador é Pausable, então ignora o pressionamento enquanto o jogo está pausado.
Desafio
MédioVença dez canos e jogue novamente.
- Quando a pontuação chegar a
10, mostreYou win!em$HUD/Messagee pause o jogo. - Enquanto o jogo estiver pausado, a barra de espaço (
jump) tira a pausa e recarrega a cena.
Pressione “Jogar” e passe por dez canos: You win! será exibido. A barra de espaço inicia novamente. Depois, pressione “Verificar”.
Experimente você mesmo
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)
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Projetos
1Projeto: Breakout
Raquete do BreakoutMantenha a raquete na tela4Projeto: Explorador de Masmorras
Percorra a masmorraPegue a chave3Projeto: Flappy Flyer
Gravidade do FlyerFaça o Flyer bater as asasPratique por conta própria: Playground de Godot