SceneManager.Load
- Oyun Geliştirme kursu
- Orta seviye
- Ders 56/83
- 4 dk
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
using System;
class Program
{
static void Main()
{
// targetScene ve mode değerlerini tanımlayıp yazdır
}
}Örnek çözüm
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
SceneManager.____("GamePlay");
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 |