CodeBlanks Logo Icon CodeBlanks

Signal nedir?

Signal'in Godot'ta olay bildirimi için kullanıldığını öğrenirsin.

Signal nedir?

Godot'ta Signal (sinyal), bir nesnede belirli bir olay gerçekleştiğinde diğer nesnelere haber veren mekanizmadır. Bu yapı yazılım tasarımında Observer (Gözlemci) deseni olarak bilinir ve nesnelerin birbirine sıkı sıkıya bağlanmasını (tight coupling) engeller.

# Bir olay oldugunda sinyal yayinlanir
# Dinleyen dugumler bundan aninda haberdar olur

Örneğin bir can barı, oyuncunun script'ini doğrudan bilmek zorunda kalmadan sadece oyuncudan gelen sinyali dinleyebilir.

Observer Deseni ve Olay Bildirimi

Sinyal mekanizmasında iki taraf bulunur: olayı başlatan (yayımcı / publisher) ve olayı dinleyen (gözlemci / observer). Yayımcı yalnızca 'Bu olay gerçekleşti' der; kimin dinlediğini bilmez.

# Oyuncu olur -> 'died' sinyali verilir
# UI, ses yoneticisi ve skor tablosu bu olayi dinleyebilir

Bu sayede oyun kodun modüler, okunabilir ve bakımı kolay kalır.

Uygulama Sinyal sistemini başlat

Bir _ready fonksiyonu tanımla. İçinde konsola "Signal sistemi devrede" yazdıran bir GDScript kodu yaz.

Başlangıç kodu

Player.cs
extends Node

# _ready fonksiyonunu tanimla ve konsola yazdir

Örnek çözüm

Player.cs
extends Node

func _ready():
    print("Signal sistemi devrede")

Beklenen çıktı

Signal sistemi devrede

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Godot'ta sinyallerin kullanılmasının en önemli avantajı nedir?

  • Oyunun kare hızını (FPS) iki katına çıkarması
  • Tüm sahneleri otomatik olarak diske kaydetmesi
  • Düğümlerin Transform bileşenini kilitlemesi
  • Düğümler arasındaki bağımlılığı azaltarak gevşek bağlılık (loose coupling) sağlaması Doğru cevap

Açıklama: Sinyaller, bir düğümün diğer düğümleri doğrudan tanımasına gerek kalmadan haberleşmesini sağlar; bu da gevşek bağlılık (loose coupling) kazandırır.

2 Sinyal mantığını anlama

Soru
# Godot olay yonetimi mekanizmasi
# ____ deseni gevsek baglilik saglar
Cevap
# Godot olay yonetimi mekanizmasi
# Observer deseni gevsek baglilik saglar

Açıklama: Godot sinyalleri nesneler arasında olay tabanlı iletişim için Observer (Gözlemci) desenini temel alır.

3 Sinyal kavramları

Kavram Anlamı
Signal Olay bildirim mekanizması
Observer Olayı dinleyen gözlemci taraf
Publisher Olayı duyuran yayımlayıcı taraf
Loose coupling Nesnelerin bağımsız kalması

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