Menu
CoddyTech
flag Ar iconالعربيةdown icon

نقاط Breakout

جزء من قسم المشاريع في رحلة Godot على Coddy. الدرس 7 من 33.

تساوي قيمة كل لبنة 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

التحدي

متوسط
  1. في ball.gd، أضف signal brick_broken وأصدره عند تكسّر لبنة.
  2. في main.gd، أضف var score = 0، وصّل $Ball.brick_broken بدالة تضيف 10 وتعرض Score: 10 وScore: 20 ... في $HUD/Score.
  3. اعرض Score: 0 عند بدء اللعبة.

جرّب بنفسك

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)
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المشاريع

تدرّب بنفسك: Playground لـ Godot