Menu
CoddyTech
flag He iconעבריתdown icon

אות משלך

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

בקרוב תכתבו מאזינים כאלה. בשיעור הזה עורכים רק את הקוצים.

challenge icon

אתגר

קל

תן לקוצים אות ושלח אותו כשמישהו דורך עליהם:

  1. הכרז על signal hit בראש הקובץ spikes.gd.
  2. בתוך _on_body_entered, שלח אותו באמצעות hit.emit().

עלה על הקוצים. במסוף אמור להופיע Ouch!, ואתה תהפוך לאלמוגי.

נסו בעצמכם

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	pass
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

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

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