CodeBlanks Logo Icon CodeBlanks

Meydan okuma 3: Godot sinyali

Ö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

Player.cs
# GDScript
signal can_bitti

func tetikle():
    pass

func _init():
    tetikle()

Örnek çözüm

Player.cs
# 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

Player.cs
# GDScript
signal puan_kazanildi(miktar)

func puan_ver():
    pass

func _init():
    puan_ver()

Örnek çözüm

Player.cs
# 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

Soru
____ can_azaldi
Cevap
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

Orta seviye bölümündeki tüm dersler