Загрузите последнюю сыгранную сцену, в которой пользователь проиграл, вместо того, чтобы загружать начальную сцену заново, Unity Block breaker game - PullRequest
0 голосов
/ 03 июля 2018

В Unity 4.6 я создал игру для разрыва блоков и добавил 3 уровня. Если кто-то проигрывает на любом уровне, скажем, level_02, то экран проигрыша, показывающий, что игра перезагружается. Когда он нажимает, попробуйте еще раз, он загружает стартовый экран, как я заказал их в моих настройках сборки. Я хочу, чтобы моя игра загружалась на том же уровне, на котором пользователь проиграл, чтобы он щелкнул снова, и тот же уровень загрузился снова, т.е. level_02.

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Вы можете перезапустить сцену

Application.LoadLevel(Application.loadedLevel)

Или

Scene scene = SceneManager.GetActiveScene(); 
SceneManager.LoadScene(scene.name);
0 голосов
/ 03 июля 2018

Вы можете сохранить текущее имя levelScene, прежде чем загружать как LooseScene,

PlayerPrefs.SetString("LastLevelName",ScaneManager.GetActiveScene().name);

и когда вы нажимаете кнопку перезапуска вooseScene, затем вызываете некоторый метод, подобный этому,

public void RestartSameLevel(){
    SceneManager.LoadScene(PlayerPrefs.GetString("LastLevelName","DefaultSceneName");
    //"DefaultSceneName" can be your StartScene name
}
...