CodeBlanks Logo Icon CodeBlanks

Sahne örneği

Kaydedilmiş bir sahneyi örnekleme ve alt düğüm olarak kullanmayı öğrenirsin.

instantiate() ile Örnekleme

Kaydedilmiş bir PackedScene kaynağından yeni bir kopya oluşturma işlemine sahne örnekleme (instancing) denir. GDScript'te bu işlem instantiate() metodu ile yapılır. Örneğin bir mermi veya düşman kaynağından sahnede onlarca kopya bu yöntemle üretilir.

var sahne: PackedScene = preload("res://Dusman.tscn")
var yeni_dusman = sahne.instantiate()

add_child() ile Ağaca Ekleme

instantiate() ile oluşturulan nesne henüz yalnızca bellekte yaşar; ekranda görünmesi için sahne ağacına dahil edilmelidir. Bir düğümü başka bir düğümün altına yerleştirmek için add_child(yeni_dugum) fonksiyonu kullanılır.

var yeni_obje = sahne.instantiate()
add_child(yeni_obje)
print("Düğüm ağaca eklendi")

Uygulama Düğüm Oluştur ve Ekle

_ready() içinde Node2D.new() ile yeni bir düğüm oluştur, add_child() ile ekle ve ekrana print("Örnek eklendi") yazdır.

Başlangıç kodu

Player.cs
extends Node

func _ready():
    # Yeni Node2D oluştur, add_child ile ekle ve mesaj yazdır
    pass

Örnek çözüm

Player.cs
extends Node

func _ready():
    var nesne = Node2D.new()
    add_child(nesne)
    print("Örnek eklendi")

Beklenen çıktı

Örnek eklendi

Soru ve cevaplar

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

1 Bir PackedScene kaynağından yeni bir düğüm kopyası oluşturmak için hangi metot çağrılır?

  • instantiate() Doğru cevap
  • duplicate_tree()
  • create_scene()
  • spawn_node()

Açıklama: PackedScene nesnelerinden yeni bir düğüm hiyerarşisi üretmek için instantiate() metodu kullanılır.

2 Yeni düğümü alt düğüm olarak ekle

Soru
var yeni_obje = sahne.instantiate()
____(yeni_obje)
Cevap
var yeni_obje = sahne.instantiate()
add_child(yeni_obje)

Açıklama: Sahne ağacına alt düğüm bağlamak için add_child() kullanılır.

3 Örnekleme Terimleri

Kavram Anlamı
instantiate() PackedScene'den yeni düğüm üretir
add_child() Düğümü ağaca alt düğüm olarak bağlar
preload() Sahne veya kaynağı önceden yükler
get_parent() Üst ebeveyn düğümü döndürür

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