أشواك كثيرة، دالة واحدة
جزء من قسم الإشارات والتصادمات في رحلة 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.
التحدي
متوسطاجعل كل صف من الأشواك يعيدك إلى البداية.
- في
_ready()، استبدل سطرconnectالوحيد بحلقةforتمرّ على المجموعةspikes. - داخل الحلقة، اربط
body_enteredلكل عقدة بـ_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