CodeBlanks Logo Icon CodeBlanks

Özel sinyal

signal anahtar kelimesiyle özel sinyal tanımlamayı öğrenirsin.

Özel sinyal tanımlama

Kendi oyun mantığına özel olaylar üretmek için signal anahtar kelimesini kullanırsın. Sinyal tanımları genellikle script'in en üstünde, değişkenlerden önce yapılır.

extends CharacterBody2D

signal health_changed(new_health)
signal player_died

Özel sinyaller tıpkı yerleşik sinyaller gibi parametreli veya parametresiz tanımlanabilir.

Parametreli sinyallerin gücü

Özel sinyallere parametre eklemek dinleyicilere zengin veri aktarır. Tip belirteçleri kullanarak sinyalin taşıdığı veri türünü netleştirebilirsin.

signal coin_collected(amount: int)
signal level_completed(level_name: String, score: int)

Bu sayede dinleyici fonksiyon tetiklendiğinde gerekli değerleri doğrudan parametre olarak alır.

Uygulama Özel sinyal tanımla ve yazdır

En başta signal oyuna_baslandi tanımla. _ready fonksiyonu içinde konsola "Ozel sinyal tanimlandi" yazdır.

Başlangıç kodu

Player.cs
extends Node

# Sinyali buraya tanimla

func _ready():
    # Konsola yazdir

Örnek çözüm

Player.cs
extends Node

signal oyuna_baslandi

func _ready():
    print("Ozel sinyal tanimlandi")

Beklenen çıktı

Ozel sinyal tanimlandi

Soru ve cevaplar

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

1 GDScript'te 'can_degisti' adında ve yeni can değerini taşıyan bir özel sinyal nasıl tanımlanır?

  • event can_degisti(yeni_can)
  • signal can_degisti(yeni_can) Doğru cevap
  • var can_degisti = Signal(yeni_can)
  • def signal can_degisti(yeni_can)

Açıklama: GDScript'te özel sinyaller doğrudan 'signal' anahtar kelimesi ve ardından sinyal adı ile parametre listesi yazılarak tanımlanır.

2 Özel sinyal yaz

Soru
# Skor degistiginde yayinlanacak sinyal
____ score_updated(new_score: int)
Cevap
# Skor degistiginde yayinlanacak sinyal
signal score_updated(new_score: int)

Açıklama: Özel sinyal tanımlamak için 'signal' anahtar kelimesi kullanılır.

3 Sinyal tanımlama öğeleri

Kavram Anlamı
signal Sinyal tanımlama anahtar sözcüğü
player_died Parametresiz özel sinyal örneği
score_changed(v) Parametreli özel sinyal
new_health: int Tip belirteçli sinyal parametresi

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