Menu
CoddyTech

Score de Breakout

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

Chaque brique vaut 10 points. La balle sait quand elle en casse une, et main.gd tient le score. Un signal les relie. La balle l’émet pour chaque brique cassée, et le script principal l’écoute.

Dans ball.gd, déclare le signal en haut et émets-le à côté de smash() :

signal brick_broken

# dans _on_body_entered, après body.smash() :
brick_broken.emit()

Dans main.gd, connecte-le dans _ready et ajoute les points dans la fonction qu’il appelle :

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

L’étiquette se trouve dans un CanvasLayer appelé HUD. Régle-la aussi sur Score: 0 dans _ready, sinon elle reste vide jusqu’à la première brique.

challenge icon

Défi

Moyen
  1. Dans ball.gd, ajoutez signal brick_broken et émettez-le lorsqu’une brique se casse.
  2. Dans main.gd, ajoutez var score = 0, connectez $Ball.brick_broken à une fonction qui ajoute 10 et affiche Score: 10, Score: 20, ... dans $HUD/Score.
  3. Affichez Score: 0 au démarrage du jeu.

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)]

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)
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