playerPrefs 可以将数据存储到本地。cocos egret 都有类似的 比如egret的 localstorage
playerprefs 函数比较少,只用来做存储用
json utility 例子
using System; [Serializable] public class PlayerInfo { public int score { get; set; } public int highScore { get; set; } public int nimamapi ; public string[] nihao = new string[3]; public List<Vector2> test1 = new List<Vector2>(); public PlayerInfo() { score = 1 ; highScore = 10 ; nimamapi = 100; nihao[0] = "nihao1"; nihao[1] = "nihao2"; nihao[2] = "nihao3"; test1.Add(new Vector2(0,0)); test1.Add(new Vector2(1,1)); test1.Add(new Vector2(3,4)); } public PlayerInfo PaseJson(string jsonString) { return JsonUtility.FromJson<PlayerInfo>(jsonString); } public string ToJson() { return JsonUtility.ToJson(this); } public void saveToLocal() { PlayerPrefs.SetString("PlayerInfo", ToJson()); Debug.Log("~~~~~~~~~~ saveToLocal " + ToJson()); } public string GetJsonStringFromLocal() { if (!PlayerPrefs.HasKey("PlayerInfo")) { PlayerPrefs.SetString("PlayerInfo", ToJson()); string js = ToJson(); Debug.Log("~~~~~~~~~~ GetJsonStringFromLocal " + ToJson()); } return PlayerPrefs.GetString("PlayerInfo"); } } m_playerInfo = new PlayerInfo(); string jsonData = m_playerInfo.GetJsonStringFromLocal(); Debug.Log("~~~~~~~~~~ jsonData " + jsonData); m_playerInfo = m_playerInfo.PaseJson(jsonData); Debug.Log("~~~~~~~~~~ " + m_playerInfo);这里打印出来的存储的json 字符串为 ~~~~~~ jsonData {“nimamapi”:100,”nihao”:[“nihao1”,”nihao2”,”nihao3”],”test1”:[{“x”:0.0,”y”:0.0},{“x”:1.0,”y”:1.0},{“x”:3.0,”y”:4.0}]}
注意,这里给jsonUnitlity使用的必须是class , struct 或者monoBehavier 可序列化的类 并且 get set 的成员变量是不支持的, 必须是public 的成员变量
