CodeBlanks Logo Icon CodeBlanks

Sahne ağacı

Godot'ta sahnenin nasıl bir ağaç olarak düzenlendiğini öğrenirsin.

Sahne bir ağaçtır

Godot'ta her sahne bir ağaç olarak düzenlenir ve ağacın her parçasına node (düğüm) adı verilir. Scene panelinde kökteki düğüm en üstte görünür, çocukları onun altında iç içe listelenir. Bir düğümü başka bir düğümün altına sürükleyerek hiyerarşiyi değiştirebilirsin.

func _ready():
    print("AnaSahne")
    print("  Oyuncu")
    print("    Silah")

Bu çıktı, Silah düğümünün Oyuncu nun, Oyuncu nun da AnaSahne nin altında olduğunu gösterir.

Düğüm yolları

Ağaçtaki her düğüme yoluyla da ulaşabilirsin; yol, kökten başlayarak düğümlerin adlarını / ile birleştirir. Bir düğümün kendi adı name özelliğinde durur, hemen üstündeki düğüm ise get_parent() çağrısıyla gelir. Böylece bir düğümün ağaçtaki yerini tek satırda hesaplayabilirsin.

func _ready():
    print(get_parent().name + "/" + name)

Oyuncu düğümü AnaSahne altında ise bu satır AnaSahne/Oyuncu yazdırır.

Uygulama Ağaç yolu kur

_ready içinde üç değişken tanımla: kok = "AnaSahne", oyuncu = "Oyuncu" ve silah = "Silah". İlk satırda Yol: etiketiyle üç adı / ile birleştirip yazdır, ikinci satırda Kök: etiketiyle kökü yazdır.

Başlangıç kodu

Player.cs
func _ready():
    # 1) kok değişkenini "AnaSahne" olarak tanımla
    # 2) oyuncu değişkenini "Oyuncu" olarak tanımla
    # 3) silah değişkenini "Silah" olarak tanımla
    # 4) "Yol: " etiketiyle kok/oyuncu/silah birleşimini yazdır
    # 5) "Kök: " etiketiyle kok değerini yazdır
    pass

Örnek çözüm

Player.cs
func _ready():
    var kok = "AnaSahne"
    var oyuncu = "Oyuncu"
    var silah = "Silah"
    print("Yol: " + kok + "/" + oyuncu + "/" + silah)
    print("Kök: " + kok)

Beklenen çıktı

Yol: AnaSahne/Oyuncu/Silah
Kök: AnaSahne

Soru ve cevaplar

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

1 Godot'ta bir sahnenin parçaları hangi yapıda düzenlenir?

  • Ağaç yapısında; her parçaya düğüm (node) denir Doğru cevap
  • Izgara yapısında; her parça bir hücreye oturur
  • Klasör yapısında; her parça ayrı bir dosyadır
  • Düz liste halinde; her parça bir numara alır

Açıklama: Sahneler ağaçtır; kökte bir düğüm vardır ve diğer düğümler onun altında çocuk olarak sıralanır.

2 Üst düğümü çağırmak

Soru
func _ready():
    print(____).name + "/" + name)
Cevap
func _ready():
    print(get_parent()).name + "/" + name)

Açıklama: Bir düğümün üstündeki düğüm get_parent() ile alınır; .name de o düğümün adını verir. get_child(0) ise ilk alt düğüme gider.

3 Ağaç terimleri

Kavram Anlamı
Kök düğüm Ağacın en üstündeki düğüm
Çocuk düğüm Başka düğümün altındaki düğüm
Düğüm yolu Kökten hedefe isim dizisi
Hiyerarşi Düğümlerin üst-alt dizilimi

Başlangıç bölümündeki tüm dersler