Tubi a intervalli regolari
Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 21 di 33.
Ora vengono i tubi. Un tubo è una scena, pipe.tscn: una metà superiore e una metà inferiore con uno spazio in mezzo. In pipe.gd scorre verso sinistra a SPEED pixel al secondo. Oltrepassato il bordo sinistro, si rimuove, così i vecchi tubi non si accumulano:
position.x -= SPEED * delta
if position.x < -60:
queue_free()La scena ha un Timer chiamato PipeTimer che scatta ogni 1.6 secondi. In main.gd, collega il segnale timeout e crea un tubo oltre il bordo destro:
func _on_pipe_timer_timeout():
var pipe = PIPE.instantiate()
pipe.position = Vector2(700, 180)
$Pipes.add_child(pipe)Godot disegna i nodi nell’ordine dell’albero. Pipes viene prima di Ground, quindi il terreno copre la parte inferiore di ogni tubo.
Sfida
Medio- In
pipe.gd, aggiungiconst SPEED = 160. Sposta il tubo verso sinistra a ogni frame fisico e rimuovilo quandoposition.xè minore di -60. - In
main.gd, aggiungiconst PIPE = preload("res://pipe.tscn")e collega$PipeTimer.timeout. A ogni timeout, crea un tubo in(700, 180)nel nodoPipes.
Provalo tu
extends Node2D
func _ready():
pass
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