Делаю игру, с похожей механикой как в Pokey Ball, нужно реализовать сохранение игры, то есть, при выходе из игры на определенном уровне, при следующем заходе в игру, игра начиналась с того уровня, с которого игрок вышел прошлый раз из игры. Читал что можно исп.PlayerPrefs, но не пойму как реализовать.
Ну смотри, я сам не спец по делу, но думаю объяснить смогу)
Вообщем, начнём с того, что делает PlayerPrefs.
PlayerPrefs имеет методы SetInt(), SetFloat, SetString(), которые отвечают за сохранение информации в РЕГИСТРЕ. Например, у нас есть монеты, которые должны сохранится до следующего запуска и т.д.
Мы делаем какую-либо кнопку, либо после какого-либо события сохраняем наше значение монет в регистр:
(Какое-то событие)
{
PlayerPrefs.SetInt("любое название", num); //num - переменная, в которой будет хранится кол. монет
}
Теперь у нас есть переменная в регистре, которая равна переменной num в нашем коде. И нам надо при каждом запуске, либо ещё когда, доставать эту переменную!
При самом первом запуске игры, в регистре ничего не будет(потому-что мы ничего не создали), по-этому надо добавить проверку, а есть ли такое значение,если есть, то присвоить какой-то переменной в коде, и если нет то создать. За проверку отвечает метод HasKey("название"), а за присвоение GetInt("название"), GetString("название"), GetFloat("название").
int num;
void Start()
{
if(PlayerPrefs.HasKey("X")
{
num = PlayerPrefs.GetInt("X")
} else
{
PlayerPrefs.SetInt("X", 'какая-либо переменная, может стоять и num')
}
}
И всё, теперь при каждом запуске игры переменная num будет равна значению до прошлого закрытия, НО НАДО НЕ ЗАБЫВАТЬ СДЕЛАТЬ СОХРАНЕНИЕ!
Если что-то не понятно, пиши. Могу посоветовать видосики на ютуб.
Спасибо огромное! Такой вопрос, а как и где, и как часто прописывать сохранение? Мне нужно чтобы после закрытия игры, и при открыти её снова, начинался уровень, на котором остановился...
Если Вас не затруднит, можете пожалуйста скинуть ссылки на видосики. Спасибо Вам!)