Menu
CoddyTech

אותות עם ערכים

חלק מהיחידה אותות והתנגשויות במסלול ה-Godot של Coddy. שיעור 8 מתוך 27.

אות יכול להעביר ערכים, כמו שהאות body_entered מעביר את הגוף. מציינים אותם בסוגריים מרובעים כשמכריזים עליו:

signal collected(points)

מעבירים את הערכים אל emit(), באותו הסדר:

collected.emit(points)

כל פונקציה שמחוברת אל collected מקבלת את הערך. כאן הסקריפט שעל Main מוסיף את הנקודות לניקוד ומדפיס אותו:

func _on_gem_collected(points):
	score += points
	print("Score: ", score)

שתי אבני החן מריצות את אותו הסקריפט. הערך של points באבן החן הקטנה הוא 10, ובגדולה הוא 25; הערכים נקבעים בכל צומת בסצנה. לכן מעבירים את points, ולא מספר שמקלידים.

challenge icon

אתגר

קל

גרום לכל אבן חן לספר ל־main.gd כמה נקודות היא שווה.

  1. הכרז על signal collected(points) בראש הקובץ gem.gd.
  2. בסוף _on_body_entered, שלח אותו עם points של אבן החן.

לחץ על "שחק" ועבור על פני שתי אבני החן: המסוף מציג Score: 10, ואז Score: 35. לאחר מכן לחץ על "בדיקה".

נסו בעצמכם

extends Area2D

@export var points = 10

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	if not visible:
		return
	visible = false

כל השיעורים ביחידה אותות והתנגשויות

תרגלו בעצמכם: Godot אונליין