Menu
CoddyTech

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.

challenge icon

Défi

Moyen
  1. Dans pipe.gd, ajoutez signal scored. Connectez $Gap.body_entered et émettez scored lorsqu’un corps entre dans l’ouverture.
  2. Dans main.gd, ajoutez var score = 0 et affichez 0 dans $HUD/Score au démarrage.
  3. Connectez le scored de 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()
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