Задать вопрос
@NattRiy1

Не сохраняется переменная в Unity через PlayerPrefs?

Создаю игру на юнити, осталось сделать магазин, создал переменную скина, при нажатии на кнопку "купить" она изменяется, но почему-то PlayerPrefs не сохраняет её.
вот код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Shop : MonoBehaviour
{

[SerializeField] private Text coinsText;
[SerializeField] public int skin1;
[SerializeField] private Text skinText;

void Start()
{
int coins = PlayerPrefs.GetInt("coins");
coinsText.text = coins.ToString();
int skin1 = PlayerPrefs.GetInt("skin1");
}


void Update()
{
int coins = PlayerPrefs.GetInt("coins");
coinsText.text = coins.ToString();
skinText.text = skin1.ToString();
}

public void buy()
{
int coins = PlayerPrefs.GetInt("coins");
// int skin1 = PlayerPrefs.GetInt("skin1");

if (coins > 10)
{
skin1++;
coins -= 10;
PlayerPrefs.SetInt("coins", coins);
PlayerPrefs.SetInt("skin1", skin1 + 1);
}
}
}
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
Проблема тут => int skin1 = PlayerPrefs.GetInt("skin1");, можешь в этом убедиться, распечатав в лог значение переменной.
Ответ написан
@DrRen7
я особо не пользовался PlayerPrefs но если в игре все сохраняется тогда просто нет сейва в файл попробуй добавить
PlayerPrefs.Save(); при сохранении изменений
Ответ написан
Ваш ответ на вопрос

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

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