Как запустить несколько сцен единства всего один раз при запуске приложения - PullRequest
0 голосов
/ 12 ноября 2018

Я хочу знать, как заставить что-то случиться только один раз, как учебное пособие в игре, которое появляется только при первом запуске игры, а затем, когда ваша игра сохраняется на более позднем этапе, оно никогда не появляется снова, даже когда вы закрываете свою игру. и начните снова.

По сути, у меня есть семь сцен, но я хочу воспроизвести сцены 1-5, только одну при запуске приложения, а затем в следующий раз, когда пользователь открывает приложение, он сразу переходит к 6-й сцене

Итак, я хочу знать, как заставить что-то произойти только один раз в игровом приложении.

Надеюсь, вы меня поняли.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Что ж, эта проблема может быть легко решена с помощью PlayerPrefs. Вы можете вызвать PlayerPrefs.SetInt () и PlayerPrefs.GetInt (). Вот так:

public class SceneRouting : MonoBehaviour {
     void Awake(){
         // -1 means it is not the first time the player launches the game
         // while 1 means it is the first time the player launches the game
         int isFirstTime = PlayerPrefs.GetInt("isFirstTime", -1);

         if(isFirstTime > 0){
             // Here you can load any of these scenes 1, 2, 3, 4, 5
         } else {
             // Here you can load scene 6
         }
     }
}

Вы можете установить переменную isFirstTime в любом месте вашего игрового процесса. Скажем, например, когда вы вызываете метод Foo (), вы не хотите, чтобы игра загружала сцены 1-5 при следующем запуске:

public void Foo(){
   PlayerPrefs.SetInt("isFirstTime", -1);
}

Кроме того, если вы хотите, чтобы ваша игра загружала сцену 6 при запуске, вы можете установить значение isFirstTime на 1

0 голосов
/ 12 ноября 2018

Вы можете взглянуть на использование PlayerPrefs . Есть несколько способов их использования, но это может быть одним из легких решений для вас.

Пример того, как их использовать, может быть таким для вас;

private void Awake()
{
    int tutorialFinishedFlag = PlayerPrefs.GetInt("TutorialFinished", 0);

    if(tutorialFinishedFlag == 0)
    {
        ShowScenesOneToFive();
    }
    else
    {
        ShowSceneSix();
    }
}

И когда вы закончили показывать им первые 5 сцен, вы можете установить PlayerPref следующим образом:

PlayerPrefs.SetInt("TutorialFinished", 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...