Загрузка сцены на которой завершилась или остановилась игра на Unity? как можно загружать сцену на которой остановилась или завершилась игра? Ну например я играл в игру и я решил выйти в главное меню чтобы поменять настройки игры, и как сделать так чтобы при нажатии на кнопку играть загружалась та сцена на которой я остановился? Пытался реализовать через PlayerPrefs но не заработало
Для сохранения информации о последней сцене, на которой игра завершилась или остановилась, вы можете использовать PlayerPrefs. Вот пример кода, который позволит вам сохранить имя сцены:
using UnityEngine; using UnityEngine.SceneManagement; public class SceneLoader : MonoBehaviour { private string lastScene; private void Start
{ lastScene = PlayerPrefs.GetString"LastScene""LastScene""LastScene"; if !string.IsNullOrEmpty(lastScene)!string.IsNullOrEmpty(lastScene)!string.IsNullOrEmpty(lastScene)
{ SceneManager.LoadScenelastScenelastScenelastScene; } } public void LoadLastScene
{ PlayerPrefs.SetString"LastScene",SceneManager.GetActiveScene().name"LastScene", SceneManager.GetActiveScene().name"LastScene",SceneManager.GetActiveScene().name; SceneManager.LoadScenelastScenelastScenelastScene; } }
Вы можете вызывать метод LoadLastScene из метода, который обрабатывает нажатие на кнопку "Играть". Таким образом, при последующем запуске игры сцена будет загружаться с той, на которой игра завершилась. Не забудьте добавить этот скрипт на объект в сцене.
Для сохранения информации о последней сцене, на которой игра завершилась или остановилась, вы можете использовать PlayerPrefs. Вот пример кода, который позволит вам сохранить имя сцены:
using UnityEngine;using UnityEngine.SceneManagement;
public class SceneLoader : MonoBehaviour
{
private string lastScene;
private void Start {
lastScene = PlayerPrefs.GetString"LastScene""LastScene""LastScene";
if !string.IsNullOrEmpty(lastScene)!string.IsNullOrEmpty(lastScene)!string.IsNullOrEmpty(lastScene) {
SceneManager.LoadScenelastScenelastScenelastScene;
}
}
public void LoadLastScene {
PlayerPrefs.SetString"LastScene",SceneManager.GetActiveScene().name"LastScene", SceneManager.GetActiveScene().name"LastScene",SceneManager.GetActiveScene().name;
SceneManager.LoadScenelastScenelastScenelastScene;
}
}
Вы можете вызывать метод LoadLastScene из метода, который обрабатывает нажатие на кнопку "Играть". Таким образом, при последующем запуске игры сцена будет загружаться с той, на которой игра завершилась. Не забудьте добавить этот скрипт на объект в сцене.