אות משלך
חלק מהיחידה אותות והתנגשויות במסלול ה-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 אונליין