הרבה דוקרנים, פונקציה אחת
חלק מהיחידה אותות והתנגשויות במסלול ה-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)
כל השיעורים ביחידה אותות והתנגשויות
תרגלו בעצמכם: Godot אונליין