Marquer un point en passant un tuyau
Fait partie de la section Projets du Journey Godot de Coddy. Leçon 24 sur 33.
Chaque tuyau que tu franchis rapporte un point. Le tuyau possède un nœud enfant Area2D appelé Gap, une fine bande derrière l’ouverture. L’oiseau ne le touche qu’après être passé à travers, c’est donc à ce moment-là que tu marques un point.
Dans pipe.gd, connecte le signal du nœud enfant via $Gap et émets scored :
$Gap.body_entered.connect(_on_gap_body_entered)
func _on_gap_body_entered(body):
scored.emit()Dans main.gd, connecte le signal scored de chaque nouveau tuyau. Ajoute un à score et affiche-le dans $HUD/Score. str(score) convertit le nombre en texte. Affiche 0 au début.
Défi
Moyen- Dans
pipe.gd, ajoutezsignal scored. Connectez$Gap.body_enteredet émettezscoredlorsqu’un corps entre dans l’ouverture. - Dans
main.gd, ajoutezvar score = 0et affichez0dans$HUD/Scoreau démarrage. - Connectez le
scoredde chaque tuyau à une fonction qui ajoute un point et affiche le nouveau score.
Essayez vous-même
extends Area2D
signal hit
const SPEED = 160
func _ready():
body_entered.connect(_on_body_entered)
func _physics_process(delta):
position.x -= SPEED * delta
if position.x < -60:
queue_free()
func _on_body_entered(body):
hit.emit()
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