Sahneler arasında geçiş yapma

Sayfa güncel :
Sayfa oluşturma tarihi :

Doğrulama ortamı

Windows
  • Pencereler 11
Birlik Editörü
  • 2020.3.25f1
Giriş Sistemi Paketi
  • 1.2.0

Bu ipucu için önkoşullar

Aşağıdaki ayarlar, bu ipucunun açıklaması için bir öncül olarak önceden yapılmıştır.

Sahneler arasında nasıl geçiş yapacağınızı öğrenin

Bir sahne sözde "sahne" dir, ancak Unity "sahne" kelimesini olduğu gibi kullanır, bu yüzden onu ifade sahnesi ile açıklayacağım.

Sahneler genellikle oyundaki sahneler arasında geçiş yapar. Örneğin, oyuna başlat menüsünden başlarsanız ve eylem başlarsa, bunu bir sahne anahtarı olarak düşünebilirsiniz. Ayrıca, bir eylem sırasında menü ekranını açma eylemi, menü ifadesine bağlı olarak bir sahne anahtarı da olacaktır.

Bu tür bir sahne değiştirmenin Unity'de uygulanması gerekir ve bunu yapmanın birçok yolu vardır. Örneğin, oyunda sadece bir "Sahne (Birlik İçinde)" olmalıdır. Oyun sahnesi değiştiğinde, önceki sahnedeki tüm nesneler atılır ve bir sonraki sahne için gerekli nesneler oluşturulur. Bununla birlikte, bu yaklaşım yalnızca bir Sahne sağlama avantajına sahip olsa da, nesne geçişlerini programlı olarak yönetmek zorunda kalmanın dezavantajına sahiptir.

Bu ipucunda, sahneler olduğu kadar çok sayıda "Sahne" dosyası hazırlama ve sahneleri değiştirmek için gerekli nesneleri sahneye önceden yerleştirme yöntemini uygulamak istiyorum. Gerçek sahneler arasında geçiş yapmak çok kolaydır çünkü tek yapmanız gereken Sahne dosyaları arasında geçiş yapmaktır.

Sahneyi Hazırlama

İlk olarak, normal bir proje oluşturun. Giriş sistemi paketini zaten hazırlamış ve kamerayı yapılandırmış olduğunuz varsayılır.

Bu sefer iki sahne dosyası hazırlayacağız ve ilk sahnedeki butona tıklayıp ikinci sahneye geçiş işlemini uygulayacağız.

Mevcut SampleScene sahne adlandırılmalıdır, bu nedenle bunu SampleScene1 olarak değiştirin.

Ardından, projenin boş bir alanına sağ tıklayın ve "Oluştur" dan "Sahne" yi seçin. Proje sekmesinin altındaki + düğmesinden de ekleyebilirsiniz.

Yeni bir sahne dosyası eklenecek, bu yüzden adlandırın SampleScene2 .

SampleScene1 Sahneyi açmak için çift tıklayın ve nesneyi aşağıda gösterildiği gibi yerleştirin. Düğmeyi tıklattığınızda SampleScene2 , düzenin uygun olabilmesi için 'ye geçiş yapabilirsiniz.

SampleScene2 Sahneyi açmak için çift tıklayın ve nesneyi aşağıda gösterildiği gibi yerleştirin. Ne koyduğunuz önemli değil çünkü sadece neyin değiştiğini bilmek istiyorsunuz.

Sahneyi oluşturduktan sonra, menüden "Dosya > Yapı Ayarları" nı açın.

Yapımda bulunan sahnelerde SampleScene2 düşüş.

Aşağıda gösterildiği gibi eklendikten sonra Yapı Ayarları'nı kapatın.

Sahne değiştirme işlemi

Sahne değiştirme senaryo ile yapılır, bu yüzden lütfen bir senaryo oluşturun. Adı keyfidir, ancak bu durumda SceneChange .

Komut dosyası şöyle görünür:

using UnityEngine;
using UnityEngine.SceneManagement;  // 追加

public class SceneChange : MonoBehaviour
{
  /// <summary>ボタンをクリックしたときに呼ばれます。</summary>
  public void OnClick()
  {
    // 指定したシーンを読み込み他のシーンは削除します
    SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
  }
}

İçerik çok basittir SceneManager.LoadScene ve yöntemleri çağırarak sahneler arasında geçiş yapabilirsiniz.

İlk argüman, geçiş yapılacak sahnenin adıdır.

İkinci bağımsız değişken olarak LoadSceneMode.Single belirtirseniz, geçerli sahneyi kapatırken yalnızca belirtilen sahneyi açabilirsiniz. Ayrıca basitçe sahne ekle LoadSceneMode.Additive diye bir parametre de var, ancak bu makalede açıklamayacağım.

Komut dosyasını SampleScene1 kaydettikten sonra açın ve konumuna ekleyin. EventSystem Eklediğiniz herhangi bir nesne olabilir.

Yöntemin çağrılabilmesi için düğmenin click olayını ekli bir nesneye SceneChange ayarlayın OnClick .

Oyunu çalıştırmayı deneyin ve düğmeye tıkladıktan sonra sahnenin değişip değişmediğine bakın.