אות משלך
חלק מהיחידה אותות והתנגשויות במסלול ה-Godot של Coddy. שיעור 7 מתוך 27.
אפשר לתת לצומת אותות משלך. הכריזו על אות בראש הסקריפט באמצעות signal:
extends Area2D
signal hitשדרו אותו באמצעות emit() כשקורה הדבר:
func _on_body_entered(body):
hit.emit()קוד ישן יותר עשוי להשתמש ב־emit_signal("hit"). הוא עושה את אותו הדבר.
הדוקרנים רק מדווחים שמישהו נפגע. מה קורה כשמישהו נפגע תלוי בקוד שמאזין. כאן הסקריפט שעל Main מאזין ל־hit:
extends Node2D
# הצומת Main מאזין לאות hit של הקוצים, ברגע שהם מפיקים אותו.
func _ready():
if $Spikes.has_signal("hit"):
$Spikes.hit.connect(_on_spikes_hit)
func _on_spikes_hit():
print("Ouch!")
$Player.modulate = Color(1, 0.42, 0.42)בקרוב תכתבו מאזינים כאלה. בשיעור הזה תערכו רק את הדוקרנים.
אתגר
קלתנו לקוצים אות ושלחו אותו כשמישהו דורך עליהם.
- הכריזו על
signal hitבתחילת הקובץspikes.gd. - בתוך
_on_body_entered, שלחו אותו באמצעותhit.emit().
לחצו על "שחק" וצעדו על הקוצים: במסוף מופיע Ouch! ואתם הופכים לצבע אלמוג. לאחר מכן לחצו על "בדיקה".
נסו בעצמכם
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
כל השיעורים ביחידה אותות והתנגשויות
תרגלו בעצמכם: Godot אונליין