إشارتك الخاصة
جزء من قسم الإشارات والتصادمات في رحلة 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
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الإشارات والتصادمات
تدرّب بنفسك: Playground لـ Godot