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.
Desafío
Intermedio- En
pipe.gd, agregaconst SPEED = 160. Mueve la tubería hacia la izquierda en cada fotograma de física y elimínala cuandoposition.xsea menor que -60. - En
main.gd, agregaconst PIPE = preload("res://pipe.tscn")y conecta$PipeTimer.timeout. En cada timeout, crea una tubería en(700, 180)dentro del nodoPipes.
Pruébalo tú mismo
extends Node2D
func _ready():
pass
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Proyectos
3Proyecto: Flappy Flyer
Gravedad del voladorHaz aletear al voladorPractica por tu cuenta: Playground de Godot