сохранить разблокированный персонаж в единстве - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть код, в котором, когда вы нажимаете на кнопку и у вас достаточно монет, она должна быть разблокирована, и кусок дерева с ценой, который действует как замок, должен исчезнуть. Все работает нормально, но когда я перезагружаю игру, все возвращается к настройкам по умолчанию. Я новичок в единстве, и я хочу использовать Playerprefs, но я не знаю, как именно. вот мой сценарий;

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

        public class MainMenu3 : MonoBehaviour {
        public Button WhitePlane;
        public Button BluePlane;
        public static int character_number;

        public GameObject wood1;
        public GameObject wood2;

        void Start () {

        character_number = PlayerPrefs.GetInt ("Number");
        BluePlane.onClick.AddListener (() => {
        character_number=1;
        if (UIManager2.coin_score>=1) {
        UIManager2.coin_score--;
        wood1.setactive (false);

        SceneManager.LoadScene ("Menu2");
                    }

                });

       WhitePlane.onClick.AddListener (() => {
        character_number=2;
        if (UIManager2.coin_score>=2){

        UIManager2.coin_score--;
        UIManager2.coin_score--;
        wood2.setactive(false);

        SceneManager.LoadScene ("Menu2");
                                  }
                    });
    void Update () {
    PlayerPrefs.SetInt ("Number", character_number);
    }

1 Ответ

0 голосов
/ 16 апреля 2020

Я не могу видеть из этого кода, когда срабатывают обратные вызовы.

Вы можете попробовать: Попробуйте это в сборке. Не только от редактора. Добавляйте отладочные отпечатки с помощью UnityEngine.Debug.Log () всякий раз, когда значения меняются, а также отправляйте их в prefs оттуда.

(сохранение его при каждом обновлении () является своего рода неправильным использованием интерфейса).

Unity do c показывает, где хранятся значения. Проверьте, прибыли ли они туда. Например, для Windows это путь к реестру

https://docs.unity3d.com/ScriptReference/PlayerPrefs.html

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