Menu
CoddyTech

Tuğla Kırma Skoru

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

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 bunu dinler.

ball.gd dosyasında sinyali en üstte tanımla ve smash() yanına gönder:

signal brick_broken

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

main.gd dosyasında sinyali _ready içinde bağla ve çağırdığı işlevde puanları ekle:

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

Etiket, HUD adlı bir CanvasLayer içindedir. _ready içinde onu Score: 0 olarak da ayarla; yoksa ilk tuğla kırılana kadar boş kalır.

challenge icon

Görev

Orta

Her tuğla için 10 puan kazan.

  1. ball.gd dosyasına signal brick_broken ekle ve bir tuğla kırıldığında sinyali yay.
  2. main.gd dosyasına var score = 0 ekle ve _ready içinde $HUD/Score alanında Score: 0 göster.
  3. $Ball.brick_broken sinyalini 10 ekleyen ve skoru gösteren bir işleve bağla.

“Oyna” düğmesine bas ve bir tuğlayı kır: etiket Score: 10 gösterir. Ardından “Kontrol et” düğmesine bas.

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)

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

Kendi başına pratik yap: Godot playground