Menu
CoddyTech

Canos com temporizador

Parte da seção Projetos do Journey de Godot da Coddy. Lição 24 de 36.

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 dispara a cada 1.6 segundos. Em main.gd, conecte o sinal timeout e crie um cano depois 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

Envie canos pela tela.

  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.
  3. A cada timeout, crie um cano em (700, 180) no nó Pipes.

Pressione “Jogar”: os canos deslizam pela direita. Em seguida, pressione “Verificar”.

Experimente você mesmo

extends Node2D

func _ready():
	pass

Todas as lições de Projetos

Pratique por conta própria: Playground de Godot