Unity 5.3 Как загрузить текущий уровень?
до Unity 5.3, я мог бы сделать
Application.LoadLevel(Application.loadedLevel);
Но теперь это что-то странное с SceneManager. Я читал документацию, но ничего. Как получить текущую сцену и загрузить ее (Unity 5.3f4)?
Спасибо!
Ответы
Ответ 1
Используйте новый SceneManager и убедитесь, что вы включили пространство имен UnityEngine.SceneManagement
using UnityEngine.SceneManagement;
public class Example
{
public void ReloadCurrentScene()
{
// get the current scene name
string sceneName = SceneManager.GetActiveScene().name;
// load the same scene
SceneManager.LoadScene(sceneName,LoadSceneMode.Single);
}
}
Ответ 2
Еще один способ загрузки текущей сцены с помощью SceneMamager
- это что-то вроде этого:
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
убедитесь, что вы включили SceneManager
в свой скрипт.
Ответ 3
using UnityEngine;
using UnityEngine.UI;
using System;
using System.Collections;
**using UnityEngine.SceneManagement;**
public class UIManager : MonoBehaviour{
public void OnRoomJoin(BaseEvent e)
{
// Remove SFS2X listners and re-enable interface before moving to the main game scene
//Reset();
// Goto the main game scene
**SceneManager.LoadScene(1);**
// **SceneManager.LoadScene("main");**
}
}
Ответ 4
это мой пример С#:) У меня была такая же проблема, и теперь я понял с ней, вы должны помнить, что ваша сцена должна быть включена в настройки сборки вашего проекта;)
надеюсь, что это поможет другим с новыми монетами в нем)
Ура:)
Постскриптум Добавьте этот script к своей кнопке в инспекторе и выберите r script и имя этой функции:)
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class start_new_game : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
public void Update () {
}
public void OnMouseDown()
{
SceneManager.LoadScene(0);
}
}