cocos2dx一路走来之

时间:2021-01-18 19:43:11

游戏中一些比较简单的数据可以使用UserDefault来保存,它的存储方式为xml文件格式。

使用如下:

UserDefault::getInstance()->setStringForKey("key","value"); //添加一个字符串数据到指定key下,UserDefault::getInstance()如果是第一次调用则会自动生成一个UserDefault.xml文件,该文件用以保存所有的UserDefault中的数据,UserDefault中的数据是以key-value的方式来存储的

UserDefault::getInstance()->getStringForKey("key","default value");//读取指定key的数据,如不存在该数据则返回指定的默认值"default value"

UserDefault::isXMLFileExist();//用以判断是否已经存在UserDefault.xml文件

如果嫌弃调用时代码过长,可以使用宏,如

#define SaveStringToXML UserDefault::getInstance()->setStringForKey

#define LoadStringFromXML UserDefault::getInstance()->getStringForKey

...

#define SaveBooleanToXML UserDefault::getInstance()->setBoolForKey

#define LoadBooleanFromXML UserDefault::getInstance()->getBoolForKey

有时需要判断是否首次运行/生成某些数据,可使用一个boolean值来进行记录,如

if(LoadBooleanFromXML("first_time",true))

{

    //进行所需的首次加载操作

    SaveBooleanToXML ("first_time",false);

}

然后就是这个flush函数了,

API上说是 将内容保存到XML文件中。