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" % scoreEtiket, 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.
Görev
OrtaHer tuğla için 10 puan kazan.
ball.gddosyasınasignal brick_brokenekle ve bir tuğla kırıldığında sinyali yay.main.gddosyasınavar score = 0ekle ve_readyiçinde$HUD/ScorealanındaScore: 0göster.$Ball.brick_brokensinyalini 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