Dez canos para vencer
Parte da seção Projetos do Journey de Godot da Coddy. Lição 25 de 33.
O jogador pode perder, mas ainda não pode vencer. Ao atingir a pontuação 10, 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 fim, permita que o jogador jogue novamente. Enquanto o jogo estiver pausado, a tecla Espaço recarrega a cena. Main está sempre ativa, 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 de bater as asas. O voador está configurado para pausar, então ignora o pressionamento enquanto o jogo está pausado.
Desafio
Médio- Quando a pontuação chegar a 10, exiba
You Win!e pause o jogo. - Enquanto estiver pausado, a tecla Espaço (
jump) despausa o jogo e recarrega a cena.
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 chave2Projeto: Jogo de Tiro com Asteroides
Gire a naveAcione o motor3Projeto: Flappy Flyer
Gravidade do FlyerFaça o Flyer bater as asasPratique por conta própria: Playground de Godot