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.
Sfida
Medio- In
pipe.gd, aggiungisignal scored. Collega$Gap.body_entereded emettiscoredquando un corpo entra nello spazio vuoto. - In
main.gd, aggiungivar score = 0e mostra0in$HUD/Scoreall'inizio. - Collega
scoreddi 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()
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Progetti
3Progetto: Flappy Flyer
La gravità del FlyerFai sbattere le ali al FlyerEsercitati da solo: Playground Godot