אזורים נפגשים עם אזורים
חלק מהיחידה אותות והתנגשויות במסלול ה-Godot של Coddy. שיעור 6 מתוך 27.
לצמתים של Godot יש אותות מובנים. ל־Area2D יש ארבעה שבהם תשתמשו לעיתים קרובות:
body_enteredו־body_exited: גוף נכנס או יצא. גופים הם דברים מוצקים, כמוCharacterBody2Dו־StaticBody2D.area_enteredו־area_exited: אזור אחר נכנס או יצא.
אזור אף פעם לא שולח body_entered עבור אזור אחר. הכוכבים הנופלים הם אזורים, לכן הסל צריך את area_entered:
func _ready():
area_entered.connect(_on_star_caught)הפונקציה מקבלת את האזור שנכנס, ולכן היא מקבלת ערך אחד, כמו _on_body_entered(body). אפשר לתת לו כל שם.
אתגר
קלשני כוכבים נופלים לתוך הסל, אבל המסוף נשאר ריק. הסל מאזין לאות הלא נכון. גרמו לו להדפיס Caught a star! עבור כל כוכב.
נסו בעצמכם
extends Area2D
func _ready():
body_entered.connect(_on_star_caught)
func _on_star_caught(star):
print("Caught a star!")
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה אותות והתנגשויות
תרגלו בעצמכם: Godot אונליין