Cocos2dx 用户数据管理

来源:互联网 发布:java后台接收json 编辑:程序博客网 时间:2024/06/06 23:30
在游戏过程中经常需要记录一些游戏内的数据或玩家记录等信息,如游戏等级,经验值,分数等等,因此储存信息的功能十分重要。开发人员可以直接使用Cocos2dx里已经准备好的数据存储系统。
数据存储就是在应用运行过程中产生一系列的数据存储和提取,引擎中主要由UserDefault类提供了这套功能,它基于键值对存储数据,所以使用十分方便。


UserDefault类的基本方法:
static UserDefault * getInstance()  //获取单例对象方法
static void destroyInstance() //销毁对象


根据键值对获取数据:
[bool/int/float/double/std::string/Data] get[Bool/Interger/Float/Double/String/Data]ForKey(const char* pKey) //获取储存中制定键值对应的[布尔值/整数值/浮点数/双精度浮点数/字符串/数据对象]数据,并返回对应数据。


根据键值对获取数据,若数据不存在返回默认值:
[bool/int/float/double/std::string/Data] get[Bool/Interger/Float/Double/String/Data]ForKey(const char* pKey , [bool/int/float/double/std::string/Data] defaultValue) //获取储存中制定键值对应的[布尔值/整数值/浮点数/双精度浮点数/字符串/数据对象]数据,并返回对应数据,若数据不存在,返回参数2默认值。


根据键值对存储数据:
void set[bool/int/float/double/std::string/Data]ForKey(const char* pKey , [bool/int/float/double/std::string/Data] value)  //按照键(参数1)值(参数2)对存储数据。


把数据写入文件中:
void flush() //使用Set方法把键值对保存在UserDefault中后,可以通过这个函数把数据保存在XML文件里。


设置代理对象:
static void setDelegate(UserDefault* delegate)  //我们可以通过继承UserDefault来创造我们自己的数据管理类,如引擎中自带的UserDefaultAndroid就是安卓版的数据管理类,用这个方法调用这个参数,就可以把安卓版的用作代理。注:每代理一个新对象会删除之前的代理对象,如想取消代理,参数设为空指针即可。


获取XML的路径:
static const std::string getXMLFilePath() //获取文件保存路径


XML文件时否存在:
static bool isXMLFileExist()
0 0
原创粉丝点击