جامع العملات: ما جُمع
جزء من قسم الإشارات والتصادمات في رحلة 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 يجهّز العناصر الفرعية قبل العنصر الأب. وبحلول ذلك الوقت، تكون كل عملة قد انضمت إلى المجموعة.
التحدي
متوسطلدينا نصّان برمجيان هذه المرة:
coin.gd: صرّح عنsignal collectedوأصدره قبلqueue_free().main.gd: في_ready()، اربط كل عملة بـcollectedبدالة جديدة هي_on_coin_collected()تطبعGot a coin!.
جرّب بنفسك
extends Node2D
func _ready():
pass
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الإشارات والتصادمات
6مشروع: جامع العملات
جامع العملات: المشيجامع العملات: العملاتتدرّب بنفسك: Playground لـ Godot