Node kavramı
- Oyun Geliştirme kursu
- Başlangıç
- Ders 64/83
- 4 dk
Node'un Godot'un temel yapı taşı olduğunu öğrenirsin.
Node: temel yapı taşı
Godot'ta her şey bir node (düğüm) ile başlar; sahnedeki her parçanın arkasında bir düğüm sınıfı vardır. Bütün düğüm türleri ortak bir temel sınıftan (Node) türemiştir ve name gibi ortak özellikler taşır; Node2D ve Control gibi alt sınıflar ise position ve visible gibi ek özellikler ekler. Yeni bir düğümü kodla önce new ile oluşturur, sonra add_child ile ağaca bağlarsın.
var oyuncu = Node2D.new()
oyuncu.name = "Oyuncu"
add_child(oyuncu)Ağaça bağlanan düğüm sahnenin parçası olur ve diğer düğümlerle birlikte çalışmaya başlar.
Düğüm türleri ve _ready
Node en sade düğüm türüdür; oyun nesneleri çoğunlukla ondan türeyen Node2D, Node3D ya da arayüz için Control düğümleriyle kurulur. Bir düğüm ağaca eklenip sahne başladığında _ready fonksiyonu bir kez çalışır ve başlangıç ayarlarını burada yaparsın. Düğümlerin birbirine üst-ast bağlanması, sahne ağacını meydana getirir.
func _ready():
print("Düğüm hazır: " + name)name özelliği, düğümün ağaçtaki adını verir.
Uygulama Kodla ağaç kur
_ready içinde küçük bir ağaç kur: Node.new() ile kok düğümünü oluşturup adını "AnaSahne" yap, Node.new() ile oyuncu düğümünü oluşturup adını "Oyuncu" yap ve oyuncu düğümünü kok düğümünün altına ekle. Sonra kok un adını ve kok un ilk çocuğunun adını iki satırda yazdır.
Başlangıç kodu
func _ready():
# 1) kok adında bir Node oluştur ve adını "AnaSahne" yap
# 2) oyuncu adında bir Node oluştur ve adını "Oyuncu" yap
# 3) oyuncu'yu kok'un altına ekle
# 4) kok'un adını yazdır
# 5) kok'un ilk çocuğunun adını yazdır
passÖrnek çözüm
func _ready():
var kok = Node.new()
kok.name = "AnaSahne"
var oyuncu = Node.new()
oyuncu.name = "Oyuncu"
kok.add_child(oyuncu)
print(kok.name)
print(kok.get_child(0).name)Beklenen çıktı
AnaSahne Oyuncu
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yeni oluşturulan bir düğümü sahnenin ağacına bağlamak için hangi metot kullanılır?
var oyuncu = Node2D.new()
oyuncu.name = "Oyuncu"- insert()
- add_node()
- attach()
- add_child() Doğru cevap
Açıklama: Düğümü ağaca eklemek için add_child kullanılır; bu çağrıdan önce düğüm ağacın bir parçası değildir.
2 Düğümün adı
func _ready():
print("Düğüm hazır: " + ____)
func _ready():
print("Düğüm hazır: " + name)
Açıklama: Her düğümün ağaçtaki adı name özelliğinde tutulur; onu metinle birleştirip yazdırabilirsin.
3 Node parçaları
| Kavram | Anlamı |
|---|---|
Node |
Tüm düğümlerin dayandığı temel sınıf |
Node2D |
2B oyun nesneleri için düğüm türü |
add_child |
Düğümü ağaca ekler |
_ready |
Düğüm sahneye girince bir kez çalışır |