Menu
CoddyTech

אות משלך

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

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

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