Задать вопрос
KraGenDeveloper
@KraGenDeveloper
Unity Developer

Как сохранять данные игры?

Суть вопроса - Как сохранять данные?
PlayerPrefs знаю. Но тип не всё же запихать туда. Если например нужно сохранить прогресс на карте по типу: Последняя позиция игрока/ содержимое инвентаря и т.д. Что тоже всё в PlayerPrefs тулить?
  • Вопрос задан
  • 276 просмотров
Подписаться 5 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
Создаешь структура/класс с атрибутом Serializable, где у тебя будут храниться нужные данные, экземпляр объекта переводишь в json к примеру через JsonUtility.ToJson и сохраняешь куда надо, через PlayerPrefs или в фаил, при выгрузке используешь JsonUtility.FromJson
Ответ написан
Зашифруйте предметы инвентаря в индексы. Напишите код перевода, из содержимого инвентаря в строку или во что-то другое и сохраните. Не забудьте написать код расшифровки!

А с позицией всё просто, держите пример кода:
float x, y, z;
if (PlayerPrefs.HasKey("x"))
{
    x = PlayerPrefs.GetFloat("x")
    y = PlayerPrefs.GetFloat("y")
    z = PlayerPrefs.GetFloat("z")

    gameObject.transform.position = new Vector3(x, y, z);
}else
{
    x = gameObject.transform.position;
    y = gameObject.transform.position;
    z = gameObject.transform.position;

    PlayerPrefs.SetFloat("x", x);
    PlayerPrefs.SetFloat("y", y);
    PlayerPrefs.SetFloat("z", z);
}

P.S: Если игра двухмерная, замените Vector3 на Vector2
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы