أشواك كثيرة، دالة واحدة
جزء من قسم الإشارات والتصادمات في رحلة Godot على Coddy. الدرس 21 من 27.
قد يحتوي المستوى على العديد من الأشواك التي تؤدي جميعها الوظيفة نفسها. صِلها جميعًا بدالة واحدة باستخدام حلقة تمرّ على مجموعتها:
for spike in get_tree().get_nodes_in_group("spikes"):
spike.body_entered.connect(_on_spike_body_entered)في كل دورة من الحلقة، يتم توصيل الشوكة التالية عبر body_entered. أيّ صف تلمسه، ستعمل الدالة نفسها وتحصل على جسمك.
إضافة صف خامس إلى المجموعة تنجح من دون كتابة أي شيفرة جديدة. الصفوف الأربعة هنا ضمن المجموعة spikes.
التحدي
متوسطفقط Spikes1 يعيدك إلى الخلف. في _ready()، اربط إشارة body_entered لكل عقدة في المجموعة spikes بالدالة _on_spike_body_entered.
جرّب بنفسك
extends Node2D
func _ready():
$Spikes1.body_entered.connect(_on_spike_body_entered)
func _on_spike_body_entered(body):
body.position = Vector2(80, 280)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الإشارات والتصادمات
تدرّب بنفسك: Playground لـ Godot