Menu
CoddyTech

Des tuyaux à intervalles réguliers

Fait partie de la section Projets du Journey Godot de Coddy. Leçon 24 sur 36.

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 qu’il a dé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 crée 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’arbre. Pipes vient avant Ground, donc le sol recouvre le bas de chaque tuyau.

challenge icon

Défi

Moyen

Fais défiler les tuyaux à l’écran.

  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.
  3. À chaque expiration du délai, crée un tuyau à (700, 180) dans le nœud Pipes.

Appuie sur « Jouer » : les tuyaux glissent depuis la droite. Puis clique sur « Vérifier ».

Essayez vous-même

extends Node2D

func _ready():
	pass

Toutes les leçons de Projets

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