جامع العملات: ما جُمع
جزء من قسم الإشارات والتصادمات في رحلة Godot على Coddy. الدرس 25 من 27.
يحتوي main.gd على قواعد اللعبة، مثل عدد العملات المتبقية. يجب أن يعرف Main بكل عملة تجمعها. لذلك ترسل كل عملة إشارة، ويستمع Main إليها جميعًا.
في coin.gd، صرّح عن signal collected وأصدرها قبل أن تحذف العملة نفسها مباشرةً:
if body.is_in_group("player"):
collected.emit()
queue_free()في main.gd، اربط كل عملة في المجموعة، كما فعلت مع الأشواك:
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)يعمل هذا في _ready() الخاص بـ Main لأن Godot يجهّز العناصر الفرعية قبل العنصر الأب. وبحلول ذلك الوقت، تكون كل عملة قد انضمت إلى المجموعة.
التحدي
متوسطاجعل Main يسمع كل عملة يتم جمعها.
- في
coin.gd، عرّفsignal collectedوأصدره قبلqueue_free(). - في
_ready()فيmain.gd، اربطcollectedلكل عملة بدالة جديدة_on_coin_collected(). - اجعل هذه الدالة تطبع
Got a coin!.
اضغط «العب» وامشِ فوق عملة: ستعرض وحدة التحكم Got a coin!. ثم اضغط «تحقق».
جرّب بنفسك
extends Node2D
func _ready():
pass
جميع دروس الإشارات والتصادمات
6مشروع: جامع العملات
جامع العملات: المشيجامع العملات: العملاتتدرّب بنفسك: Playground لـ Godot