Unity 2d İle Sahneler Arası Geçiş

Merhaba;

Unity 2d ile oluşturduğumuz 2 sahne arasında geçiş işlemlerini inceleyeceğiz.

Unity uygulamamızı açıyoruz

Templates kısmında 2D seçeneğimizi seçtikten sonra Settings kısmında Proje Adımızı ve Projemizin kaydedileyeceği yolu belirliyoruz.

İlk Sahnemizi Oluşturalım

İlk olarak ekranda unity üzerinde mevcut olan SampleScene gelmektedir. Dilerseniz gelen bu boş sahnemizi silip yeni bir sahne oluşturalım veya Assets klasörü altındaki Scene klasörü içerisinden sahnenizin adını değiştirelim seçim sizin.

Ben ilk sahnemizi MenuLevel olarak değiştirdim. Şimdi sahnemize UI elemanlarından Canvas ekleyelim ve sahnemizin tasarımına geçelim.

Bunun için öncelikle Game Object menüsünden veya Hierarchy sekmesinin içerisinde sağ tık ile UI seçeneğinden bir canvas ekliyoruz. Eklemiş olduğumuz canvas ekranda kamera dışında gözükebilir. İlk olarak canvas ayarlarımızı yapalım ve kameramızı ortalayalım. Bunun için Canvas üzerine tıkladığımızda Inspector sekmesinde Canvas ayarlarımızın olduğunu göreceğiz. Bu sekmede Canvas altında Render Mode seçeneğimizi “Screen Space Camera” olarak seçelim. Hemen altında “Render Camera” olarak gelen bölüme sahnemizdeki Main Camera objesini sürükle bırak yöntemi ile atamasını gerçekleştirelim. Bu işlemden sonra Canvas’ımızın kamera ile aynı boyutta olduğunu göreceğiz.

Dilerseniz tüm ekranlarda Responsive tasarım için Canvas Scaler (Scripts) içerisindeki “UI Scale Mode” kısmını “Scale With Screen Size” olarak seçelim ve vermek istediğimiz en boy oranlarını girip “Match” kısmını 1 yapalım. Son olarak görüntümüz şu şekilde olacaktır

Tekrar Hierarchy bölümüne gelip canvas içerisine sağ tık ile UI elemanlarından bir Button ekleyelim ve buttonumuzun ekrandaki konumunu ayarlayıp içerisindeki text elemanın içeriğini “Oyuna Başla” olarak değiştirelim.

Son görüntümüz ekranda şu şekildedir.

Butonumuzu Kodlayalım

Hierarchy bölümünde boş bir yere sağ tıklayıp Create Empty ile boş bir Game Object oluşturuyoruz.

Daha sonra Editorün alt kısmında bulunan proje kısmında Assets içerisine Scripts adında bir klasör oluşturalım ve içerisine girip sağ tık ile Create seçeneğinden C# Script oluşturalım bu dosyamızın adınıda MenuManager olarak değiştirelim.

Kodlamaya başlamadan önce Scene klasörü içerisine yeni bir sahne oluşturalım. Bunun için Scene klasörü içerisinde sağ tuş ile Scene sahne seçeneğine tıklayalım ve adını GameLevel olarak değiştirelim.

Şimdi oluşturduğumuz Script içerisine Girelim ve ilk olarak using UnityEngine.SceneManagement; kütüphanemizi ekleyelim.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class MenuManager : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    public void StartGame()
    {
        SceneManager.LoadScene("GameLevel");
    }
}

Yazmış olduğumuz StartGame fonksiyonumuz içerisine SceneManager.LoadScene(“GameLevel”); olarak oluşturmuş olduğumuz GameLevel isimli sahnemizin adını verdik. Böylelikle butona tıkladığımızda GameLevel sahnemiz yüklenecektir.

Fonksiyonu Butona Atama İşlemi

Yazmış olduğumuz fonksiyonu butona atamak için script dosyamızı kaydedelim ve Hierarchy bölümüdeki oluşturmuş olduğumuz Game Object içerisine sürükle bırak yöntemi ile atayalım.

Daha sonra butonumuza tıklayıp Inspector sekmesinden Onclick alanının altındaki + butonuna tıklayalım. Açılan alanda İstenilen Game Object kısmına Hierarchy bölümündeki Game Object ekleyelim ve hemen yanındaki alandan açılır pencere ile MenuManager(Yazmış olduğumuz Script) içerisindeki StartGame() fonksiyonunu seçelim.

Böylelikle oluşturmuş olduğumuz butonumuza yazmış olduğumuz fonksiyonumuzu atamış olduk.

Game Level Sahnemizi Tasarlayalım

Game Level sahnemize çift tıklayalım ve içerisine MenuLevel için yapmış olduğumuz işlemleri yapalım. Bu sefer buton yerine içerisinde Oyun Sahnesi yazan bir Text elemanı atalım. Böylece geçiş işleminin gerçekleştiğini daha iyi görebiliriz.

Sahneler Arası Geçiş İçin Build Ayarları

Sahneler arası kontrollerimiz için File Sekmesinden Build Settings kısmına gelelim ve üste bulunan Scene in Build kısmına iki sahnemizide sırasıyla ekleyelim

Şimdi MenuLevel içerisine gelip Oyunumuzu Başlatabiliriz.

Butona Tıkladığınızda GameLevel Sahnesine geçtiğini görebilirsiniz.

Teşekkürler..