代码改变世界

cocos2dx 3.x(游戏中的储存-UserDefault)

2017-02-05 21:31  罗任德  阅读(4499)  评论(0编辑  收藏  举报
 

引擎提供的UserDefault可以简单地储存游戏中的信息,例如背景音乐音效的开关状态,用户名等等。

UserDefault是一个单例对象,可以用getInstance方法来获得。 
如果是第一次调用UserDefault::getInstance(),则会自动生成一个UserDefault.xml文件,目录在工程目录的proj.win32\Debug.win32中,用来保存所有的UserDefault中的数据,还有UserDefault中的数据是以key-value(键-值)的方式来储存的。

判断是否已经存在UserDefault.xml文件

UserDefault::isXMLFileExist();

 

UserDefault的存储函数:

UserDefault::getInstance()->setStringForKey("string","value");  //根据键值写入std::string类型字符串
UserDefault::getInstance()->setIntegerForKey("int",11);
UserDefault::getInstance()->setFloatForKey("float",1.1f);
UserDefault::getInstance()->setDoubleForKey("double",1.2);
UserDefault::getInstance()->setBoolForKey("bool",false);

 

取出函数:

std::string str = UserDefault::getInstance()->getStringForKey("string");    //根据键值取出std::string类型字符串
int i = = UserDefault::getInstance()->getIntegerForKey("int");
float f = = UserDefault::getInstance()->getFloatForKey("float");
double d = = UserDefault::getInstance()->getDoubleForKey("double");
bool b = = UserDefault::getInstance()->getBoolForKey("bool");