Menu
CoddyTech

Se cogner aux tuyaux

Fait partie de la section Projets du Journey Godot de Coddy. Leçon 23 sur 33.

Toucher un tuyau ou le sol doit mettre fin à la partie. Dans les deux cas, une fonction de main.gd est appelée :

func _on_crash():
	$HUD/Message.text = "Game Over"
	get_tree().paused = true

Un tuyau. Le tuyau est un Area2D composé de deux formes, les moitiés supérieure et inférieure. L'espace entre les deux n'a pas de forme. Dans pipe.gd, connecte body_entered et émets un signal hit. main.gd connecte le signal hit de chaque nouveau tuyau avant de l'ajouter.

Le sol. Son sommet se trouve à y = 318. Le bord du personnage volant est à 12 pixels de son milieu, il touche donc le sol lorsque position.y dépasse 306. flyer.gd émet alors le signal crashed.

Le personnage volant, les tuyaux et le minuteur sont en mode Pausable, la pause les immobilise donc tous.

challenge icon

Défi

Difficile
  1. Dans pipe.gd, ajoute signal hit. Connecte body_entered dans _ready et émets hit lorsqu’un corps entre.
  2. Dans flyer.gd, ajoute signal crashed et émets-le lorsque position.y dépasse 306.
  3. Dans main.gd, connecte le hit de chaque tuyau et le crashed de l’avatar à _on_crash. Cela affiche Game Over et met le jeu en pause.

Essayez vous-même

extends Node2D

const PIPE = preload("res://pipe.tscn")

func _ready():
	$PipeTimer.timeout.connect(_on_pipe_timer_timeout)

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, randf_range(100, 250))
	$Pipes.add_child(pipe)
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