Как пропустить уровень с PlayerPrefs Unity? - PullRequest
0 голосов
/ 03 ноября 2019

каждый.

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

Я попытался использовать две разные функциичтобы работать с этим - но сначала, вот фокус и проблема - int "sceneNo" и функция StartOver. Я использовал PlayerPrefs для настройки sceneNo. up.

sceneNo = PlayerPrefs.GetInt("Level", SceneManager.GetActiveScene().buildIndex);

И вот код для StartOver.

public void StartOver()
{
    SceneManager.LoadScene(1);
    PlayerPrefs.DeleteKey("level");
    sceneNo = (SceneManager.GetActiveScene().buildIndex);
}

Что касается двух разных функций, которые я пытался сбросить в игре ...

public void SkipMe()
{

    sceneNo = SceneManager.GetActiveScene().buildIndex + 1;
    SceneManager.LoadScene(PlayerPrefs.GetInt("Level", sceneNo));
}

И текущий ...

public void SkipAdFunction()
{
    SceneManager.LoadScene(sceneNo);
    Answer.text = "";
    PlayerPrefs.SetInt("Level", sceneNo + 1);
    sceneNo = (SceneManager.GetActiveScene().buildIndex);

}

Наконец, вот остальная часть скрипта, чтобы сделать это.

void HandleShowResult(ShowResult result) { if (result == ShowResult.Finished) { Playable.GetComponent<LoadScene>().SkipMe();

Оба этих скрипта делают то же самое,Любая помощь будет признательна о том, как решить проблему. Заранее спасибо.

1 Ответ

0 голосов
/ 03 ноября 2019

В StartOver () вы упоминаете это

 PlayerPrefs.DeleteKey("level");

Но в SkipMe (), SkipAdFunction () вы написали это

PlayerPrefs.SetInt("Level", sceneNo + 1);

См. Уровень , вы упоминаете разные клавиши, клавиши чувствительны к регистру, поэтому измените его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...