نتيجة بريك أوت
جزء من قسم المشاريع في رحلة Godot على Coddy. الدرس 7 من 36.
تساوي كل لبنة 10 نقاط. تعرف الكرة متى تحطم لبنة، ويتولى main.gd حفظ النتيجة. تربط بينهما إشارة. تُصدرها الكرة عند تحطيم كل لبنة، ويستمع إليها السكربت الرئيسي.
في ball.gd، صرّح عن الإشارة في الأعلى وأصدرها بجوار smash():
signal brick_broken
# في _on_body_entered، بعد body.smash():
brick_broken.emit()في main.gd، اربط الإشارة في _ready وأضف النقاط في الدالة التي تستدعيها:
func _on_brick_broken():
score += 10
$HUD/Score.text = "Score: %d" % scoreالتسمية موجودة في طبقة CanvasLayer اسمها HUD. اضبطها على Score: 0 في _ready أيضًا، وإلا فستظل فارغة حتى تحطيم اللبنة الأولى.
التحدي
متوسطاحصل على 10 نقاط مقابل كل لبنة.
- في
ball.gd، أضفsignal brick_brokenوأصدر الإشارة عند تكسّر لبنة. - في
main.gd، أضفvar score = 0واعرضScore: 0في$HUD/Scoreداخل_ready. - اربط
$Ball.brick_brokenبدالة تضيف 10 وتعرض النتيجة.
اضغط «العب» واكسر لبنة: سيعرض الملصق Score: 10. ثم اضغط «تحقق».
جرّب بنفسك
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)
جميع دروس المشاريع
تدرّب بنفسك: Playground لـ Godot