Menu
CoddyTech

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.

challenge icon

Sfida

Medio
  1. In pipe.gd, aggiungi const SPEED = 160. Sposta il tubo verso sinistra a ogni frame fisico e rimuovilo quando position.x è minore di -60.
  2. In main.gd, aggiungi const PIPE = preload("res://pipe.tscn") e collega $PipeTimer.timeout. A ogni timeout, crea un tubo in (700, 180) nel nodo Pipes.

Provalo tu

extends Node2D

func _ready():
	pass
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