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

جميع دروس الإشارات والتصادمات

تدرّب بنفسك: Playground لـ Godot