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)

כל השיעורים ביחידה אותות והתנגשויות

תרגלו בעצמכם: Godot אונליין