我正在开发一款针对Android的游戏,我想拥有3个保存文件。在每个保存文件中,我需要能够跟踪锁定/解锁的角色,锁定/解锁的级别,以及玩家硬币和其他一些玩家信息。
我一直在使用PlayerPrefs来保存信息,但我不确定它是否是最好的方法,因为似乎要退出一些我要保存的信息。
使用PlayerPrefs是保存此信息的最佳方法还是有更好的方法来保存它?
答案 0 :(得分:2)
在您的情况下,最佳选择是保存在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();