Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

SceneManager.SetActiveScene

Объявление

public static bool SetActiveScene(SceneManagement.Scene scene);

Параметры

scene Сцена, которую нужно установить.

Возвращает

bool Возвращает false, если сцена еще не загружена.

Описание

Делает сцену активной.

Активная сцена — это сцена, которая будет использоваться в качестве цели для новых игровых объектов, созданных сценариями, и из какой сцены используются настройки освещения. Когда вы добавляете Сцену аддитивно (см. LoadSceneMode.Additive), первая Сцена по-прежнему остается активной Сценой. Используйте это, чтобы переключить активную сцену на сцену, которую вы хотите использовать в качестве цели.

Всегда должна быть одна сцена, помеченная как активная сцена. Обратите внимание, что активная сцена не влияет на визуализацию сцен.

// Attach this script to a GameObject // Create 2 Buttons (Create>UI>Button) // Attach the 2 Buttons to your GameObject’s Inspector // This script allows you to load a second Scene as an Additive Scene. Click the first Button (Load SceneButton) to load the Additive Scene. Even though the second Scene loads, the first Scene remains the active Scene. // If you press the second Button (Set Active Button), it sets the second Scene as the active Scene (and outputs the current active Scene to the console) using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class Example : MonoBehaviour { bool m_SceneLoaded; public Button m_LoadSceneButton, m_SetActiveButton; void Awake() { // Outputs the current active Scene to the console Debug.Log("Active Scene : " + SceneManager.GetActiveScene().name); // Check that this Button exists if (m_LoadSceneButton != null) { // Fetch the Button from the Inspector. Make sure to set this in the Inspector window Button loadButton = m_LoadSceneButton.GetComponent<Button>(); // Call the LoadScene2Button() function when this Button is clicked loadButton.onClick.AddListener(LoadSceneButton); } if (m_SetActiveButton != null) { Button buttonTwo = m_SetActiveButton.GetComponent<Button>(); buttonTwo.onClick.AddListener(SetActiveSceneButton); } } // Load the Scene when this Button is pressed void LoadSceneButton() { // Check that the second Scene hasn't been added yet if (m_SceneLoaded == false) { // Loads the second SceneSceneManager.LoadScene("Scene2", LoadSceneMode.Additive); // Outputs the name of the current active Scene. // Notice it still outputs the name of the first SceneDebug.Log("Active Scene : " + SceneManager.GetActiveScene().name); // The Scene has been loaded, exit this method m_SceneLoaded = true; } } // Change the newly loaded Scene to be the active Scene if it is loaded void SetActiveSceneButton() { // Allow this other Button to be pressed when the other Button has been pressed (Scene 2 is loaded) if (m_SceneLoaded == true) { // Set Scene2 as the active SceneSceneManager.SetActiveScene(SceneManager.GetSceneByName("Scene2")); // Ouput the name of the active Scene // See now that the name is updated Debug.Log("Active Scene : " + SceneManager.GetActiveScene().name); } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3