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.
Défi
Moyen- 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.
Essayez vous-même
extends Node2D
func _ready():
pass
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
3Projet : Flappy Flyer
La gravité du FlyerFaire battre les ailes du FlyerEntraînez-vous par vous-même : Playground Godot