Menu
CoddyTech
flag Pt iconPortuguêsdown icon

Marque pontos ao passar por um cano

Parte da seção Projetos do Journey de Godot da Coddy. Lição 24 de 33.

Cada cano pelo qual você passa vale um ponto. O cano tem um filho Area2D chamado Gap, uma faixa estreita atrás da abertura. O personagem voador só toca nela depois de passar pelo cano, então é nesse momento que você marca pontos.

Em pipe.gd, conecte o sinal do filho por meio de $Gap e emita scored:

$Gap.body_entered.connect(_on_gap_body_entered)

func _on_gap_body_entered(body):
	scored.emit()

Em main.gd, conecte o sinal scored de cada novo cano. Some um a score e mostre o valor em $HUD/Score. str(score) transforma o número em texto. Mostre 0 no início.

challenge icon

Desafio

Médio
  1. Em pipe.gd, adicione signal scored. Conecte $Gap.body_entered e emita scored quando um corpo entrar na abertura.
  2. Em main.gd, adicione var score = 0 e exiba 0 em $HUD/Score no início.
  3. Conecte o scored de cada cano a uma função que adiciona um e exibe a nova pontuação.

Experimente você mesmo

extends Area2D

signal hit

const SPEED = 160

func _ready():
	body_entered.connect(_on_body_entered)

func _physics_process(delta):
	position.x -= SPEED * delta
	if position.x < -60:
		queue_free()

func _on_body_entered(body):
	hit.emit()
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Godot