Menu
CoddyTech

Segna un punto superando un tubo

Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 24 di 33.

Ogni tubo che superi vale un punto. Il tubo ha un nodo figlio Area2D chiamato Gap, una striscia sottile dietro l'apertura. L'uccellino lo tocca solo dopo averlo superato, quindi è in quel momento che ottieni il punto.

In pipe.gd, collega il segnale del nodo figlio tramite $Gap ed emetti scored:

$Gap.body_entered.connect(_on_gap_body_entered)

func _on_gap_body_entered(body):
	scored.emit()

In main.gd, collega il segnale scored di ogni nuovo tubo. Aggiungi uno a score e mostralo in $HUD/Score. str(score) converte il numero in testo. Mostra 0 all'inizio.

challenge icon

Sfida

Medio
  1. In pipe.gd, aggiungi signal scored. Collega $Gap.body_entered ed emetti scored quando un corpo entra nello spazio vuoto.
  2. In main.gd, aggiungi var score = 0 e mostra 0 in $HUD/Score all'inizio.
  3. Collega scored di ogni tubo a una funzione che aggiunge uno e mostra il nuovo punteggio.

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Progetti

Esercitati da solo: Playground Godot