Menu
CoddyTech
flag Pt iconPortuguêsdown icon

Canos com temporizador

Parte da seção Projetos do Journey de Godot da Coddy. Lição 21 de 33.

Em seguida vêm os canos. Um cano é uma cena, pipe.tscn: uma metade superior e uma metade inferior, com um espaço entre elas. Em pipe.gd, ele desliza para a esquerda a SPEED pixels por segundo. Depois de passar pela borda esquerda, ele se remove, para que os canos antigos não se acumulem:

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

A cena tem um Timer chamado PipeTimer que é acionado a cada 1.6 segundos. Em main.gd, conecte o sinal timeout e crie um cano além da borda direita:

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

O Godot desenha os nós na ordem da árvore. Pipes vem antes de Ground, então o chão cobre a parte inferior de cada cano.

challenge icon

Desafio

Médio
  1. Em pipe.gd, adicione const SPEED = 160. Mova o cano para a esquerda a cada quadro de física e remova-o quando position.x for menor que -60.
  2. Em main.gd, adicione const PIPE = preload("res://pipe.tscn") e conecte $PipeTimer.timeout. A cada timeout, crie um cano na posição (700, 180) no nó Pipes.

Experimente você mesmo

extends Node2D

func _ready():
	pass
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Projetos

Pratique por conta própria: Playground de Godot