Menu
CoddyTech

Breakout Skoru

Coddy'nin Godot Journey'sinin Projeler bölümünün bir parçası. Ders 7 / 33.

Her tuğla 10 puan değerindedir. Top, bir tuğlayı kırdığını bilir ve main.gd skoru tutar. Bunları bir sinyal birbirine bağlar. Top, kırılan her tuğla için sinyali gönderir ve ana betik sinyali dinler.

ball.gd içinde sinyali en üstte tanımlayın ve smash() çağrısının yanına gönderme işlemini ekleyin:

signal brick_broken

# _on_body_entered içinde, body.smash() sonrasında:
brick_broken.emit()

main.gd içinde sinyali _ready içinde bağlayın ve çağırdığı işlevde puanları ekleyin:

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

Etiket, HUD adlı bir CanvasLayer içindedir. Ayrıca _ready içinde değerini Score: 0 olarak ayarlayın; yoksa ilk tuğla kırılana kadar boş kalır.

challenge icon

Görev

Orta
  1. ball.gd dosyasına signal brick_broken ekle ve bir tuğla kırıldığında sinyali gönder.
  2. main.gd dosyasına var score = 0 ekle; $Ball.brick_broken öğesini, 10 ekleyen ve $HUD/Score içinde Score: 10, Score: 20, ... gösteren bir işleve bağla.
  3. Oyun başladığında Score: 0 göster.

Kendin dene

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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Projeler bölümündeki tüm dersler

Kendi başına pratik yap: Godot playground