Scene.buildIndex

public int buildIndex;


Açıklama

Sahne'nin Build Ayarlarındaki index'ini (dizinini) döndürür.

Scene.buildIndex, sıfırdan başlayarak Build Ayarlarındaki Sahnelerin sayısından bir eksik olan bir dizi numarasına kadar değişir. Bu, index'lerin (dizinlerin) sıfırdan başladığı anlamına gelir, bu nedenle buildIndex'te ilk Sahne, sıfır konumundadır. Örneğin, Beş Sahne Build Ayarları'nda olduğunda, index (dizin) değerleri sıfırdan dört'e kadar değişir.

Unity, bir Sahne adında herhangi bir sayıyı dikkate almaz. Örneğin, Build Ayarlarındaki beş Sahne listesine scene15 adında bir Sahne eklerseniz, Unity ona 5 olan bir buildIndex verir.

Sahne, Build Ayarları'ndaki Sahne listesine eklenmeyen bir durumda, buildIndex, listedeki en yüksek değerin bir fazlasını döndürür. Örneğin, zaten içinde altı Sahne bulunan bir Build penceresine bir Sahne eklemezseniz, Scene.buildIndex onun index'i (dizini) olarak 6'yı döndürür.

Eğer Sahne bir  AssetBundle aracılığıyla yüklendi ise, Scene.buildIndex değeri -1 olarak döner.

using UnityEngine;
using UnityEngine.SceneManagement;
// Mevcut komut dosyası için buildIndex'i göster.
// Build Ayarları penceresi 5 eklenmiş Sahne gösteriyor. Bunlar sırasıyla 0'dan
// 4'e kadar olan buildIndex değerlerine sahiptir. Her Sahne, bu komut dosyasının bir
// sürümünü içerir. Projede scene1, scene2, scene3, scene4 ve scene5 adında 5 Sahne oluşturun.
// Her Sahne içine boş bir GameObject ekleyin ve bu komut dosyasını ona ekleyin.
// Her Sahne, düğmeye tıklandığında rastgele farklı bir Sahneye geçer.
public class ExampleScript : MonoBehaviour
{
    Scene scene;
    void Start()
    {
        scene = SceneManager.GetActiveScene();
        Debug.Log("Active Scene name is: " + scene.name + "\nActive Scene index: " + scene.buildIndex);
    }

    void OnGUI()
    {
        GUI.skin.button.fontSize = 20;
        if (GUI.Button(new Rect(10, 80, 180, 60), "Change from scene " + scene.buildIndex))
        {
            int nextSceneIndex = Random.Range(0, 4);
            SceneManager.LoadScene(nextSceneIndex, LoadSceneMode.Single);
        }
    }
}


Bu blog Unity Docs'un Türkçeye çevrilmiş halidir.

Yorumlar

Bu blogdaki popüler yayınlar

Important Classes - Vectors

RequireComponent

Important Classes - GameObject