نقاط 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 أيضًا، وإلا فسيظل فارغًا حتى تحطيم اللبنة الأولى.
التحدي
متوسط- في
ball.gd، أضفsignal brick_brokenوأصدره عند تكسّر لبنة. - في
main.gd، أضفvar score = 0، وصّل$Ball.brick_brokenبدالة تضيف 10 وتعرضScore: 10وScore: 20... في$HUD/Score. - اعرض
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)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المشاريع
1مشروع: Breakout
مضرب Breakoutإبقاء المضرب على الشاشة2مشروع: مطلق النار على الكويكبات
أدر السفينةأشعل المحركتدرّب بنفسك: Playground لـ Godot