Menu
CoddyTech

Les vies

Fait partie de la section Projets du Journey Godot de Coddy. Leçon 8 sur 36.

Lorsque la raquette rate la balle, celle-ci tombe hors de l'écran par le bas. Donne trois vies au joueur.

Dans ball.gd, la balle est manquée si sa position est inférieure à y = 380. Émets un signal missed et replace la balle au-dessus de la raquette :

if position.y > 380:
	missed.emit()
	position = Vector2(320, 290)
	velocity = Vector2(110, -280)

Dans main.gd, écoute ce signal comme tu le fais pour brick_broken. La fonction appelée retire une vie et affiche le nouveau nombre, comme le fait la fonction de score avec les points.

challenge icon

Défi

Difficile

Donne trois vies au joueur.

  1. Dans ball.gd, ajoute signal missed. Sous y = 380, émets-le et renvoie la balle comme indiqué ci-dessus.
  2. Dans main.gd, ajoute var lives = 3 et affiche Lives: 3 dans $HUD/Lives.
  3. Connecte $Ball.missed à _on_missed, qui retire une vie et l’affiche.

Appuie sur « Jouer » et laisse passer la balle : l’étiquette affiche Lives: 2 et une nouvelle balle arrive. Puis appuie sur « Vérifier ».

Essayez vous-même

extends Node2D

const BRICK = preload("res://brick.tscn")
const COLORS = [Color(1, 0.42, 0.42), Color(1, 0.78, 0.34), Color(0.49, 0.95, 0.75), Color(0.369, 0.635, 1), Color(0.75, 0.82, 0.95)]

var score = 0

func _ready():
	for row in 5:
		for column in 8:
			var brick = BRICK.instantiate()
			brick.position = Vector2(68 + column * 72, 60 + row * 26)
			brick.color = COLORS[row]
			add_child(brick)
	$Ball.brick_broken.connect(_on_brick_broken)
	$HUD/Score.text = "Score: 0"

func _on_brick_broken():
	score += 10
	$HUD/Score.text = "Score: %d" % score

Toutes les leçons de Projets

Entraînez-vous par vous-même : Playground Godot