在 unity3d 中保存多个游戏文件



我正在 Unity 中为 android 开发一款游戏,我想有 3 个保存文件。在每个保存文件中,我需要能够跟踪锁定/解锁的角色,锁定/解锁的关卡以及玩家硬币和其他一些玩家信息。

我一直在使用 PlayerPrefs 来保存信息,但我不确定这是否是最好的方法,因为似乎有一些我想保存的信息退出。

使用PlayerPrefs是保存此信息的最佳方法,还是有更好的保存方法?

在您的情况下,最好的选择是保存在 Application.persistentDataPath .

阅读:

int saveNumber = 1;
string saveFileName = "save_" + saveNumber.ToString();
StreamReader sr = new StreamReader (string.Format ("{0}/{1}.json", Application.persistentDataPath, saveFileName));
        string t = sr.ReadToEnd ();
        sr.Close ();

只需使用您的逻辑选择您要查找的保存文件的数量。当然,也可以根据需要解析它。

编辑:

需要明确的是,您也可以轻松地做到这一点 PlayerPrefs .

假设您有 3 个 JSON 对象,要使用此选项保存它们,请执行以下操作:

           // To Save:
            SimpleJSON.JSONClass save_1;
            SimpleJSON.JSONClass save_2;
            SimpleJSON.JSONClass save_3;
            PlayerPrefs.SetString ("save_1", save_1.ToString ());
            PlayerPrefs.SetString ("save_2", save_2.ToString ());
            PlayerPrefs.SetString ("save_3", save_3.ToString ());
            // And to read:
            SimpleJSON.JSONClass save_1 = JSON.Parse(PlayerPrefs.GetString ("save_1")).AsObject;
            SimpleJSON.JSONClass save_2 = JSON.Parse(PlayerPrefs.GetString ("save_2")).AsObject;
            SimpleJSON.JSONClass save_3 = JSON.Parse(PlayerPrefs.GetString ("save_3")).AsObject;
            PlayerPrefs.Save();

最新更新