Meydan okuma 3: Godot sinyali
- Oyun Geliştirme kursu
- Orta seviye
- Ders 81/83
- 5 dk
Özel bir sinyal tanımlayıp emit_signal ile yayınlayan GDScript yazarsın.
GDScript'te Özel Sinyaller
Godot'ta nesneler arası gevşek bağlı (loosely coupled) iletişim kurmak için sinyaller (signals) kullanılır. GDScript'te özel bir sinyal signal sinyal_adi sözdizimiyle tanımlanır. Olay gerçekleştiğinde sinyali dinleyicilere duyurmak için emit_signal("sinyal_adi") çağrısı yapılır.
signal gorev_tamamlandi
func gorevi_bitir():
emit_signal("gorev_tamamlandi")Uygulama Sinyal Yayını Görevi
tetikle() fonksiyonunda emit_signal("can_bitti") çağrısı yap ve print("Sinyal yayildi") ile yazdır.
Başlangıç kodu
# GDScript
signal can_bitti
func tetikle():
pass
func _init():
tetikle()Örnek çözüm
# GDScript
signal can_bitti
func tetikle():
emit_signal("can_bitti")
print("Sinyal yayildi")
func _init():
tetikle()Beklenen çıktı
Sinyal yayildi
Uygulama Parametreli Sinyal Yayını
puan_ver() içinde emit_signal("puan_kazanildi", 100) çağrısı yap ve print("Puan iletildi: 100") yazdır.
Başlangıç kodu
# GDScript
signal puan_kazanildi(miktar)
func puan_ver():
pass
func _init():
puan_ver()Örnek çözüm
# GDScript
signal puan_kazanildi(miktar)
func puan_ver():
emit_signal("puan_kazanildi", 100)
print("Puan iletildi: 100")
func _init():
puan_ver()Beklenen çıktı
Puan iletildi: 100
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 GDScript'te tanımlanmış özel bir sinyali tetikleyip dinleyicilere yayınlamak için hangi metot kullanılır?
- send_event("sinyal_adi")
- emit_signal("sinyal_adi") Doğru cevap
- broadcast("sinyal_adi")
- call_signal("sinyal_adi")
Açıklama: Godot'ta sinyaller emit_signal() metodu çağrılarak dinleyicilere yayınlanır.
2 Özel Sinyal Tanımla
____ can_azaldi
signal can_azaldi
Açıklama: GDScript'te yeni bir sinyal tanımlamak için signal anahtar kelimesi kullanılır.
3 Godot Sinyal Mimarisi
| Kavram | Anlamı |
|---|---|
signal |
GDScript'te özel sinyal tanımlama |
emit_signal |
Tanımlı sinyali tetikleyen fonksiyon |
connect |
Sinyali hedef fonksiyona bağlama |
Observer Pattern |
Sinyalin dayandığı gözlemci deseni |