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.
Défi
MoyenFais défiler les tuyaux à l’écran.
- Dans
pipe.gd, ajouteconst SPEED = 160. Déplace le tuyau vers la gauche à chaque image physique et supprime-le lorsqueposition.xest inférieur à-60. - Dans
main.gd, ajouteconst PIPE = preload("res://pipe.tscn")et connecte$PipeTimer.timeout. - À chaque expiration du délai, crée un tuyau à
(700, 180)dans le nœudPipes.
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
3Projet : Flappy Flyer
La gravité du FlyerFaire battre les ailes du FlyerEntraînez-vous par vous-même : Playground Godot