CodeBlanks Logo Icon CodeBlanks

Yerleşik sinyaller

button.pressed gibi yerleşik sinyalleri öğrenirsin.

Yerleşik sinyaller

Godot'taki hazır düğümlerin çoğunda yerleşik (built-in) sinyaller bulunur. Örneğin bir Button düğümünün pressed sinyali ya da bir Timer düğümünün timeout sinyali vardır.

# Button dugumu tiklandiginda pressed sinyali yayinlar
# Timer dugumu suresi dolunca timeout yayinlar

Editörün 'Node' sekmesinden veya doğrudan kod içerisinden bu yerleşik sinyalleri görebilir ve dinleyebilirsin.

Diğer yaygın yerleşik sinyaller

Yerleşik sinyaller farklı düğüm türlerine göre özelleşmiştir. Area2D için body_entered bir fizik nesnesi alana girdiğinde bildirilir; LineEdit metin değiştiğinde text_changed üretir.

# Area2D bir nesne carpisinca:
# body_entered(body: Node2D)
# LineEdit yazi yazilinca:
# text_changed(new_text: String)

Bu sinyaller ihtiyaç duyulan argümanları (örneğin çarpan gövdeyi) otomatik olarak dinleyiciye iletir.

Uygulama Yerleşik sinyal bildir

Bir _ready fonksiyonu tanımla. İçinde "Buton sinyali: pressed" metnini print ile yazdır.

Başlangıç kodu

Player.cs
extends Node

# _ready fonksiyonunu tanimla ve sinyali yazdir

Örnek çözüm

Player.cs
extends Node

func _ready():
    print("Buton sinyali: pressed")

Beklenen çıktı

Buton sinyali: pressed

Soru ve cevaplar

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

1 Bir Button düğmesine fareyle tıklandığında hangi yerleşik sinyal tetiklenir?

  • mouse_hit
  • trigger_on
  • pressed Doğru cevap
  • clicked_now

Açıklama: Godot'ta BaseButton ve Button sınıflarının standart tıklama sinyali 'pressed' olarak adlandırılır.

2 Buton sinyaline eriş

Soru
var btn = Button.new()
# Buton tiklama sinyalinin adi
var sinyal_adi = btn.____.name
Cevap
var btn = Button.new()
# Buton tiklama sinyalinin adi
var sinyal_adi = btn.pressed.name

Açıklama: Button düğmesinin yerleşik sinyali 'pressed' olarak tanımlıdır.

3 Düğüm ve yerleşik sinyal eşleşmesi

Kavram Anlamı
Button pressed
Timer timeout
Area2D body_entered
LineEdit text_changed

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