Menu
CoddyTech

نتيجة بريك أوت

جزء من قسم المشاريع في رحلة 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 أيضًا، وإلا فستظل فارغة حتى تحطيم اللبنة الأولى.

challenge icon

التحدي

متوسط

احصل على 10 نقاط مقابل كل لبنة.

  1. في ball.gd، أضف signal brick_broken وأصدر الإشارة عند تكسّر لبنة.
  2. في main.gd، أضف var score = 0 واعرض Score: 0 في $HUD/Score داخل _ready.
  3. اربط $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