CodeBlanks Logo Icon CodeBlanks

Challenge 3: Godot signal

Write GDScript that defines a custom signal and emits it with emit_signal.

Custom Signals in GDScript

Signals are used in Godot to establish loosely coupled communication between nodes. In GDScript, a custom signal is declared using signal signal_name. When an event occurs, listeners are notified by calling emit_signal("signal_name").

signal mission_completed

func complete_mission():
    emit_signal("mission_completed")

Practice Signal Emission Task

In the tetikle() function, call emit_signal("can_bitti") and print with print("Sinyal yayildi").

Starter code

Player.cs
# GDScript
signal can_bitti

func tetikle():
    pass

func _init():
    tetikle()

Sample solution

Player.cs
# GDScript
signal can_bitti

func tetikle():
    emit_signal("can_bitti")
    print("Sinyal yayildi")

func _init():
    tetikle()

Expected output

Sinyal yayildi

Practice Parameterized Signal Emission

Inside puan_ver(), call emit_signal("puan_kazanildi", 100) and print print("Puan iletildi: 100").

Starter code

Player.cs
# GDScript
signal puan_kazanildi(miktar)

func puan_ver():
    pass

func _init():
    puan_ver()

Sample solution

Player.cs
# GDScript
signal puan_kazanildi(miktar)

func puan_ver():
    emit_signal("puan_kazanildi", 100)
    print("Puan iletildi: 100")

func _init():
    puan_ver()

Expected output

Puan iletildi: 100

Questions and answers

Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.

1 Which method is used in GDScript to trigger and broadcast a defined custom signal to listeners?

  • send_event("sinyal_adi")
  • emit_signal("sinyal_adi") Correct answer
  • broadcast("sinyal_adi")
  • call_signal("sinyal_adi")

Explanation: In Godot, signals are broadcast to listeners by calling the emit_signal() method.

2 Define Custom Signal

Question
____ can_azaldi
Answer
signal can_azaldi

Explanation: The signal keyword is used in GDScript to declare a new signal.

3 Godot Signal Architecture

Term Meaning
signal Keyword to define signal in GDScript
emit_signal Triggers and emits defined signal
connect Connects signal to a target function
Observer Pattern Observer pattern behind signal system

All lessons in Intermediate