Signal nedir?
- Oyun Geliştirme kursu
- Orta seviye
- Ders 67/83
- 4 dk
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 dinleyebilirBu 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
extends Node
# _ready fonksiyonunu tanimla ve konsola yazdirÖrnek çözüm
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
# Godot olay yonetimi mekanizmasi
# ____ deseni gevsek baglilik saglar
# 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ı |