游戏中的存档功能可以保证玩家在游戏过程中有足够的延续性,这点在单机游戏开发中尤为重要。Cocos2D-x中支持的游戏存档类CCUserDefault可以作为一个轻量化的数据库来使用。它支持存储的数据类型包括bool(布尔型)、int(整型)、float(浮点型)、double(双精度浮点型)、string(字符串型)。
CCUserDefault类的主要成员函数如下:
getBoolForKey:根据传入的键值参数返回相应的布尔值,第二个参数为可选的默认值,一旦该键值的值不存在,将返回默认值。
getIntegerForKey:根据传入的键值参数返回相应的整型值,第二个参数为可选的默认值,一旦该键值的值不存在,将返回默认值。
getFloatForKey:根据传入的键值参数返回相应的浮点值,第二个参数为可选的默认值,一旦该键值的值不存在,将返回默认值。
getDoubleForKey:根据传入的键值参数返回相应的双精度浮点型值,第二个参数为可选的默认值,一旦该键值的值不存在,将返回默认值。
getStringForKey:根据传入的键值参数返回相应的字符串值,第二个参数为可选的默认值,一旦该键值的值不存在,将返回默认值。
setBoolForKey:第一个参数为键,第二个参数为对应的值,布尔型存档。
setIntegerForKey:第一个参数为键,第二个参数为对应的值,整型存档。
setFloatForKey:第一个参数为键,第二个参数为对应的值,浮点型存档。
setDoubleForKey:第一个参数为键,第二个参数为对应的值,双精度浮点型存档。
setStringForKey:第一个参数为键,第二个参数为对应的值,字符串存档。
flush:存储为XML文档。
CCUserDefault类的使用示例如下:
1 //所有的存档操作在调用flush后才有效
2 CCUserDefault::sharedUserDefault()->setStringForKey( "string", "value" );
3 CCUserDefault::sharedUserDefault()->setIntegerForKey( "integer", 10 );
4 CCUserDefault::sharedUserDefault()->flush();
5 string ret = CCUserDefault::sharedUserDefault()->getStringForKey( "string");
6 int i = CCUserDefault::sharedUserDefault()->getIntegerForKey( "integer");