אזורים נפגשים עם אזורים
חלק מהיחידה אותות והתנגשויות במסלול ה-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). אפשר לתת לו כל שם.
אתגר
קלגרום לסל להבחין בכוכבים הנופלים.
- הכוכבים הם אזורים, לא גופים. בתוך
_ready(), חבר אתarea_enteredבמקום אתbody_entered. - השאר את
_on_star_caughtבתור הפונקציה.
לחץ על "שחק": במסוף מופיעה ההודעה Caught a star! פעמיים, פעם אחת לכל כוכב. לאחר מכן לחץ על "בדיקה".
נסו בעצמכם
extends Area2D
func _ready():
body_entered.connect(_on_star_caught)
func _on_star_caught(star):
print("Caught a star!")
כל השיעורים ביחידה אותות והתנגשויות
תרגלו בעצמכם: Godot אונליין