Bir Sahne Yükleme
Coddy'nin Unity Journey'sinin Gerçek Oyunlar Geliştirmek bölümünün bir parçası. Ders 17 / 56.
Bir Unity oyunu sahneler olarak bölünür: bir menü, her seviye ve jenerik. Her sahne, kendine ait nesneleri olan ayrı bir dosyadır ve bir betik UnityEngine.SceneManagement ad alanındaki SceneManager.LoadScene ile başka bir sahneye geçiş yapar. Inspector'da bağlanan bu menünün Play düğmesi Forest seviyesini açar:
using UnityEngine;
using UnityEngine.SceneManagement;
public class MainMenu : MonoBehaviour
{
public void Play()
{
SceneManager.LoadScene("Forest");
}
}Unity yalnızca derlemenin sahne listesinde bulunan sahneleri yükleyebilir: Unity 6'da bu liste, Scene List bölümündeki File > Build Profiles altında bulunur (eski sürümlerde bu pencereye Build Settings denir). Ad, sahne dosyasının adıyla tam olarak aynı olmalıdır. Bir sahne listede yoksa veya "Forrest" gibi bir yazım hatası varsa hiçbir şey yüklenmez ve Console'da Scene 'Forrest' couldn't be loaded ile başlayan ve sahnenin derlemeye eklenmediğini belirten bir hata görünür; oyun menüde kalır.
Geçiş anında gerçekleşmez. Önce mevcut kare çalışmasının geri kalanı tamamlanır, bu nedenle LoadScene sonrasındaki satırlar yine de yürütülür; sonraki karenin başında Unity eski sahnedeki tüm nesneleri yok eder ve yeni sahneyi oluşturur; yeni sahnenin betikleri de Awake ve Start ile yeniden başlar.
Görev
Kolayİki portalı olan bir merkez. Bu yapıda üç sahne var: Hub (ilk sahne), Desert ve Glacier. Hub'da bir portal Desert'a, diğeri Glacier'a açılır ve bu sahnelerin her birinde Hub'a geri dönen bir portal bulunur. Her portalda Portal betiği vardır ve Inspector'da sceneName, portalın açıldığı sahneye ayarlanır. Ok tuşları Oyuncuyu hareket ettirir (hazır).
Portal.cs dosyasını yaz: Player (etiketi Player olan) bir portala girdiğinde, o portalın sceneName değerinde belirtilen sahneyi yükle.
Play'e bas, her iki yeri de ziyaret et, sonra Check'e bas.
Kendin dene
using UnityEngine;
public class Portal : MonoBehaviour
{
public string sceneName;
// oyuncu içeri girdiğinde, sceneName adlı sahneyi yükle
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Gerçek Oyunlar Geliştirmek bölümündeki tüm dersler
1Ekrandaki Metinler
Canvas ve MetinSkoru GösterSayıları BiçimlendirGeri Sayım ZamanlayıcısıTekrar: Hız Göstergesi4Sahneler ve Bölümler
Bir Sahne YüklemeBölümü Yeniden BaşlatmaSonraki BölümSahneler Arasında SaklamaTekrar: Bölüm Seçimi10Proje: 3D Platform Oyunu
ParkurHareketli Platformlar2Düğmeler ve Ekranlar
Düğmeler ve onClickLambda İfadeleriInspector'da Bağlantı KurmaPanelleri Açma ve KapamaCan ÇubuklarıTekrar: Yükseltme Mağazası5PlayerPrefs ile Kaydetme
Bir Sayı KaydetmeVarsayılan Değerle YüklemeEn Yüksek SkorAyarları KaydetmeTekrar: Bankadaki Paralar