untiy初识之playerPrefs 和jsonUtility结合存储数据
2018-03-06 16:34
429 查看
playerPrefs 可以将数据存储到本地。cocos egret 都有类似的 比如egret的 localstorage
playerprefs 函数比较少,只用来做存储用
json utility 例子
这里打印出来的存储的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 的成员变量
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 的成员变量
相关文章推荐
- [Unity3D]手机3D游戏开发:场景切换与数据存储(PlayerPrefs 类的介绍与使用)
- Unity数据存储(PlayerPrefabs\XML\JSON)
- PlayerPrefs存储数据在本地的存储位置
- PlayerPrefs存储Vector3等结构数据
- PlayerPrefs存储Vector3等结构数据
- Ajax结合Json进行交互数据(四)
- [转]Unity3D游戏开发之数据持久化PlayerPrefs的使用
- 【数据存储】——JSON的解析和生成
- Unity PlayerPrefs 存储字段
- Json树形结构数据转Java对象并存储到数据库的实现-超简单的JSON复杂数据处理 .
- Struts2结合jquery使用Ajax传递Json数据
- OC语言--数据存储(归档&plist&Json)
- python json 数据读取,存储
- sessionstorage中存储JSON数据
- SpringMVC-----7、SpringMVC和json结合传递数据
- 整型正数与负数是如何在机器(以stm32为例)中存储与传递的--结合C语言的数据类型转换讲解
- 如何在QML应用中动态修改ListModel中的数据并存储它为JSON格式
- spark 存储json数据遇到问题——json4s使用(二)
- 轻量级的数据交换格式——初识Json(上)
- HBASE松散数据存储设计初识