Menu
CoddyTech

أشواك كثيرة، دالة واحدة

جزء من قسم الإشارات والتصادمات في رحلة 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.

challenge icon

التحدي

متوسط

اجعل كل صف من الأشواك يعيدك إلى البداية.

  1. في _ready()، استبدل سطر connect الوحيد بحلقة for تمرّ على المجموعة spikes.
  2. داخل الحلقة، اربط 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