游戏关闭后无法保存数据以加载它(Unity3d)

时间:2016-03-19 22:10:39

标签: c# unity3d save

我想保存一些变量的值。我tried将其保存到文件中,但它不起作用。所以现在我以另一种方式尝试。但它也没有保存数据...如果我开始模拟i Unity,更改变量值,停止模拟然后再次启动它,我有变量的旧值..

    void OnEnable()
    {        
        LoadFromFile();
    }

    void OnDisable()
    {        
        SaveToFile();
    }

    public void SaveToFile()
    {
        GameObject gameManagerObject = GameObject.FindGameObjectWithTag("GAMEMANAGER");
        GAMEMANAGER gameManager = gameManagerObject.GetComponent<GAMEMANAGER>();
        IndicatorsInfo indicatorsInfo = new IndicatorsInfo();

        PlayerPrefs.SetFloat("my_setting", indicatorsInfo.walkSpeedTemfFile);
    }

    public void LoadFromFile()
    {
        GameObject gameManagerObject = GameObject.FindGameObjectWithTag("GAMEMANAGER");
        GAMEMANAGER gameManager = gameManagerObject.GetComponent<GAMEMANAGER>();

        gameManager.walkSpeedTemp = PlayerPrefs.GetFloat("my_setting");
    }

    [Serializable]
    class IndicatorsInfo
    {
        public float walkSpeedTemfFile;
    }

1 个答案:

答案 0 :(得分:2)

$timeout

当您使用IndicatorsInfo indicatorsInfo = new IndicatorsInfo(); PlayerPrefs.SetFloat("my_setting", indicatorsInfo.walkSpeedTemfFile); 关键字时,您正在创建IndicatorsInfo 实例。您已从实例中保存new,而为您创建的新indicatorsInfo.walkSpeedTemfFile分配

您可能要做的是保存编辑器的价值?

indicatorsInfo