CodeBlanks Logo Icon CodeBlanks

SceneManager.Load

SceneManager.LoadScene ile sahneyi yüklemeyi öğrenirsin.

SceneManager ve LoadScene

Unity'de kod üzerinden sahne değiştirmek için UnityEngine.SceneManagement isim alanı kullanılır. SceneManager.LoadScene() metodu sahne adıyla veya build indeksiyle çağrılarak yeni sahneye geçiş yapılır.

using UnityEngine.SceneManagement;

// Sahne adına göre yeni sahne yükleme
SceneManager.LoadScene("Level1");

Bu çağrı yapıldığında belirtilen sahne diskten okunarak aktif sahne haline getirilir.

Sahne Geçişi ve Single Modu

Varsayılan olarak LoadScene metodu LoadSceneMode.Single modunda çalışır. Bu mod, o anki açık olan sahnedeki tüm GameObject'leri bellekten temizler ve yeni sahneyi tertemiz bir şekilde yükler.

// İndeks ile tekil sahne geçişi (Single mod varsayılandır)
SceneManager.LoadScene(1, LoadSceneMode.Single);

Bu sayede önceki bölümden kalan düşmanlar, mermiler veya engeller otomatik olarak temizlenmiş olur.

Uygulama Hedef sahne ve mod bilgisini yazdır

targetScene değişkenine "Level1", mode değişkenine "Single" ata. Ekrana Loading: Level1 | Mode: Single yazdır.

Başlangıç kodu

Player.cs
using System;

class Program
{
    static void Main()
    {
        // targetScene ve mode değerlerini tanımlayıp yazdır
    }
}

Örnek çözüm

Player.cs
using System;

class Program
{
    static void Main()
    {
        string targetScene = "Level1";
        string mode = "Single";
        Console.WriteLine("Loading: " + targetScene + " | Mode: " + mode);
    }
}

Beklenen çıktı

Loading: Level1 | Mode: Single

Soru ve cevaplar

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

1 Kod ile sahne yükleme fonksiyonlarını kullanabilmek için C# betiğinin en üstüne hangi isim alanı (namespace) eklenmelidir?

  • System.IO.Compression
  • UnityEngine.SceneManagement Doğru cevap
  • UnityEngine.Audio
  • UnityEngine.Physics2D

Açıklama: SceneManager sınıfı ve ilgili sahne araçları UnityEngine.SceneManagement isim alanı altında bulunur.

2 Sahneyi adıyla yükle

Soru
SceneManager.____("GamePlay");
Cevap
SceneManager.LoadScene("GamePlay");

Açıklama: Bir sahneyi yüklemek için SceneManager sınıfının LoadScene metodu çağrılır.

3 SceneManager kavramları

Kavram Anlamı
SceneManager Sahne yükleme ve geçişleri yöneten sınıf
LoadScene Verilen sahneyi yükleyen temel metod
LoadSceneMode.Single Eski sahneyi kapatıp yenisini açan mod
GetActiveScene() Aktif sahne nesnesini döndüren metot

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