Этот вопрос закрыт для ответов, так как повторяет вопрос Как создать правильное сохранение монет?
@roma79737

При выходе из игры монеты не сохраняются. Как исправить проблему?

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

public class AddScore : MonoBehaviour {

  void OnTriggerEnter2D (Collider2D other) {
        Score.score += 1;
        Coins.coins += 1;
    }
}


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

public class Coins : MonoBehaviour {

  public Text text;
  public static int coins;
  int ncoins;

  void Start () {
    PlayerPrefs.SetInt("coins", coins);
    PlayerPrefs.Save();
    ncoins = PlayerPrefs.GetInt("coins");
    text.text = ncoins.ToString();
  }
}


При выходе из игры монеты не сохраняются. В чем проблема?
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
@roma79737 Автор вопроса
Решил проблему так
void Start () {
       Score.coins = PlayerPrefs.GetInt("coins");
       text.text = Score.coins.ToString();
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
MrMureno
@MrMureno Куратор тега Unity Game Engine
VR for all
В чем дело?
в том что вы НЕ СОХРАНЯЕТЕ.
просто наличие переменной - никак не обеспечивает сохранение.

вы один раз на старте сохраняете в PlayerPrefs, и наверное думаете что это какое-то "назначить сохранение и оно будет сохранять любое изменение переменной"

берите и каждый раз когда нужно сохранить - сохраняйте.
Ответ написан
Griboks
@Griboks Куратор тега C#
int ncoins;
Переменная с монетами = 0.
void Start ()
Выполняем метод после создания переменной.
PlayerPrefs.SetInt("coins", coins);
    PlayerPrefs.Save();

Сохраняем 0 монет.
ncoins = PlayerPrefs.GetInt("coins");
Загружаем 0 монет.
Всё работает идеально.
Ответ написан
DanielMcRon
@DanielMcRon
C# && Unity
Я ответил вам в предыдущем вопросе, зачем новый создавать то

Если забыли где он находится, то вот

Как создать правильное сохранение монет?

Ниже в коментариях
Ответ написан
flexer1992
@flexer1992
Unity Developer
public class Coins : MonoBehaviour
{
  public Text text;
  private int coins;

  void Start () {
    coins = PlayerPrefs.GetInt("coins", 0);
    text.text = coins.ToString();
  }
  public int Coins {
  get {return coins;}
  set {
      coins = value;
      text.text = coins.ToString();
      PlayerPrefs.SetInt("coins", coins);
      PlayerPrefs.Save();
  }
 }

}


Что-то подобное.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы
GD Company Санкт-Петербург
от 120 000 до 150 000 ₽
Mystery Tag Новосибирск
от 80 000 до 110 000 ₽
от 130 000 до 200 000 ₽
01 апр. 2020, в 14:19
15000 руб./за проект
01 апр. 2020, в 14:17
5000 руб./за проект
01 апр. 2020, в 14:13
10000 руб./за проект