אותות עם ערכים
חלק מהיחידה אותות והתנגשויות במסלול ה-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; הערכים מוגדרים בכל צומת ב־Inspector. לכן יש לשלוח את points, ולא מספר שמקלידים.
אתגר
קלגרמו לכל אבן חן לספר ל־main.gd כמה נקודות היא שווה:
- הכריזו על
signal collected(points)בראש הקובץgem.gd. - בסוף
_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 אונליין