Menu
CoddyTech

אזורים נפגשים עם אזורים

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

challenge icon

אתגר

קל

גרום לסל להבחין בכוכבים הנופלים.

  1. הכוכבים הם אזורים, לא גופים. בתוך _ready(), חבר את area_entered במקום את body_entered.
  2. השאר את _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 אונליין