Challenge 3: Godot signal
- Game Development course
- Intermediate
- Lesson 81/83
- 5 min
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
# GDScript
signal can_bitti
func tetikle():
pass
func _init():
tetikle()Sample solution
# 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
# GDScript
signal puan_kazanildi(miktar)
func puan_ver():
pass
func _init():
puan_ver()Sample solution
# 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
____ can_azaldi
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 |