Menu
CoddyTech

Tuberías con temporizador

Parte de la sección Proyectos del Journey de Godot de Coddy. Lección 21 de 33.

Ahora vienen las tuberías. Una tubería es una escena, pipe.tscn: una mitad superior y una mitad inferior con un espacio entre ellas. En pipe.gd, se desliza hacia la izquierda a SPEED píxeles por segundo. Al pasar el borde izquierdo, se elimina, para que las tuberías antiguas no se acumulen:

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

La escena tiene un Timer llamado PipeTimer que se activa cada 1.6 segundos. En main.gd, conecta su señal timeout y crea una tubería más allá del borde derecho:

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, 180)
	$Pipes.add_child(pipe)

Godot dibuja los nodos en el orden del árbol. Pipes va antes que Ground, así que el suelo cubre la parte inferior de cada tubería.

challenge icon

Desafío

Intermedio
  1. En pipe.gd, agrega const SPEED = 160. Mueve la tubería hacia la izquierda en cada fotograma de física y elimínala cuando position.x sea menor que -60.
  2. En main.gd, agrega const PIPE = preload("res://pipe.tscn") y conecta $PipeTimer.timeout. En cada timeout, crea una tubería en (700, 180) dentro del nodo Pipes.

Pruébalo tú mismo

extends Node2D

func _ready():
	pass
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Proyectos

Practica por tu cuenta: Playground de Godot