האם הוא בקבוצה?
חלק מהיחידה אותות והתנגשויות במסלול ה-Godot של Coddy. שיעור 12 מתוך 27.
בדיקה של body.name עובדת עבור צומת אחד. עבור קבוצה של צמתים, בדקו את הקבוצה:
if body.is_in_group("racers"):
print(body.name, " finished!")is_in_group() מחזירה אמת או שקר. השתמשו בה אפילו עבור צומת אחד. שם משתנה כשמשנים שם לצומת או מעתיקים אותו. קבוצה מציינת מה הצומת הוא.
שלושה רובוטים רצים אל קו הסיום. Red ו-Blue נמצאים בקבוצה racers, שהוגדרה בסצנה. Bot מנקה את המסלול ואינו נמצא באף קבוצה.
אתגר
קלהדפס את קו הסיום רק עבור המתחרים.
- בתוך
_on_body_entered(body), שים אתprintבתוךif. - גרום ל־
ifלבדוק אתbody.is_in_group("racers").
לחץ על "שחק": במסוף מופיעים Red finished! ו־Blue finished!, ולא מופיע דבר עבור Bot. לאחר מכן לחץ על "בדיקה".
נסו בעצמכם
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print(body.name, " finished!")
כל השיעורים ביחידה אותות והתנגשויות
תרגלו בעצמכם: Godot אונליין