Menu
CoddyTech

Des tuyaux à intervalles réguliers

Fait partie de la section Projets du Journey Godot de Coddy. Leçon 21 sur 33.

Viennent ensuite les tuyaux. Un tuyau est une scène, pipe.tscn : une moitié supérieure et une moitié inférieure séparées par un espace. Dans pipe.gd, il glisse vers la gauche à SPEED pixels par seconde. Une fois passé le bord gauche, il se supprime, afin que les anciens tuyaux ne s’accumulent pas :

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

La scène comporte un Timer appelé PipeTimer qui se déclenche toutes les 1,6 secondes. Dans main.gd, connecte son signal timeout et fais apparaître un tuyau au-delà du bord droit :

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

Godot dessine les nœuds dans l’ordre de l’arborescence. Pipes vient avant Ground, donc le sol recouvre le bas de chaque tuyau.

challenge icon

Défi

Moyen
  1. Dans pipe.gd, ajoute const SPEED = 160. Déplace le tuyau vers la gauche à chaque image physique et supprime-le lorsque position.x est inférieur à -60.
  2. Dans main.gd, ajoute const PIPE = preload("res://pipe.tscn") et connecte $PipeTimer.timeout. À chaque expiration du délai, crée un tuyau à (700, 180) dans le nœud Pipes.

Essayez vous-même

extends Node2D

func _ready():
	pass
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Projets

Entraînez-vous par vous-même : Playground Godot