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" % scoreEtiket, 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.
Görev
Ortaball.gddosyasınasignal brick_brokenekle ve bir tuğla kırıldığında sinyali gönder.main.gddosyasınavar score = 0ekle;$Ball.brick_brokenöğesini, 10 ekleyen ve$HUD/ScoreiçindeScore: 10,Score: 20, ... gösteren bir işleve bağla.- Oyun başladığında
Score: 0gö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)
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
1Proje: Breakout
Breakout RaketiRaketi Ekranda TutKendi başına pratik yap: Godot playground