CodeBlanks Logo Icon CodeBlanks

Özet - Signal

Signal kullanımını bir özet görevle pekiştirirsin.

Özet: Godot'ta Signal Mimarisi

Bu grupta Godot'un en temel iletişim yapısı olan Signal sistemini öğrendin: yerleşik sinyaller (pressed, timeout), bağlantı kurma (connect, Callable), özel sinyal tanımlama (signal) ve yayınlama (emit).

signal coin_collected(val: int)

func _ready():
    coin_collected.connect(_on_coin)
    coin_collected.emit(5)

func _on_coin(val: int):
    print("Kazanilan altin: ", val)

Sinyaller sayesinde sahnelerindeki düğümler birbirini doğrudan referans almadan temiz bir şekilde haberleşir.

Uygulama Eksiksiz sinyal sistemi kur

Script'te signal skor_artti(puan) tanımla. _ready içinde bu sinyali _on_skor fonksiyonuna bağla ve skor_artti.emit(10) ile tetikle. _on_skor(puan) fonksiyonunda print("Yeni skor: ", puan) ile yazdır.

Başlangıç kodu

Player.cs
extends Node

# Sinyal tanimi buraya

func _ready():
    # Bagla ve yayinla

func _on_skor(puan):
    # Puani yazdir

Örnek çözüm

Player.cs
extends Node

signal skor_artti(puan)

func _ready():
    skor_artti.connect(_on_skor)
    skor_artti.emit(10)

func _on_skor(puan):
    print("Yeni skor: ", puan)

Beklenen çıktı

Yeni skor: 10

Soru ve cevaplar

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

1 Signal iş akışının baştan sona doğru sırası hangisidir?

  • Tanımlama (signal) -> Bağlama (connect) -> Yayınlama (emit) Doğru cevap
  • Yayınlama (emit) -> Tanımlama (signal) -> Bind
  • Emit -> Tanımlama -> Disconnect -> Connect
  • Bağlama (connect) -> Silme -> Tanımlama -> Emit

Açıklama: Doğru akış önce sinyalin tanımlanması, ardından dinleyici fonksiyona bağlanması ve olay anında emit edilmesidir.

2 Sinyal döngüsünü tamamla

Soru
signal game_started

func setup():
    game_started.____(_on_game_started)
    game_started.emit()
Cevap
signal game_started

func setup():
    game_started.connect(_on_game_started)
    game_started.emit()

Açıklama: Sinyal yayınlanmadan önce dinleyici fonksiyona connect metodu ile bağlanır.

3 Signal özeti eşleştirmesi

Kavram Anlamı
signal my_signal Özel sinyal tanımı
my_signal.connect(fn) Fonksiyonu dinleyici yapar
my_signal.emit() Sinyali tetikleyip yayınlar
Button.pressed Yerleşik UI sinyali

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