首页 > 代码库 > Cocos2d-x 游戏存档

Cocos2d-x 游戏存档

游戏存档功能可以保存游戏中数据,让玩家游戏可以延续, 单机游戏更为重要。而CCUserDefault可以作轻量级数据库使用,用来存储数据,支持数据类型bool,int, float, double, string.

存储数据

	CCUserDefault::sharedUserDefault()->setStringForKey("string", "value1"); //参数顺序:键,对应的值
	CCUserDefault::sharedUserDefault()->setIntegerForKey("integer", 10);
	CCUserDefault::sharedUserDefault()->setFloatForKey("float", 2.3f);
	CCUserDefault::sharedUserDefault()->setDoubleForKey("double", 2.4);
	CCUserDefault::sharedUserDefault()->setBoolForKey("bool", true);


获取上面数据输出

	string str = CCUserDefault::sharedUserDefault()->getStringForKey("string");//参数:根据传入的键返回键值
	CCLOG("str: %s", str.c_str());
	int i = CCUserDefault::sharedUserDefault()->getIntegerForKey("integer");
	CCLOG("i: %d", i);
	float f = CCUserDefault::sharedUserDefault()->getFloatForKey("float");
	CCLOG("f: %f", f);
	double d = CCUserDefault::sharedUserDefault()->getDoubleForKey("double");
	CCLOG("d: %f", d);
	bool b = CCUserDefault::sharedUserDefault()->getBoolForKey("bool");
	if (b)
		CCLOG("bool is true");
	else
		CCLOG("bool is false");


修改数据

	CCUserDefault::sharedUserDefault()->setStringForKey("string", "test"); //修改string数据
	CCUserDefault::sharedUserDefault()->setFloatForKey("float", 3.1413);  //修改float数据

	string str1 = CCUserDefault::sharedUserDefault()->getStringForKey("string");
	CCLOG("str1: %s", str1.c_str());
	float f2 =CCUserDefault::sharedUserDefault()->getFloatForKey("float");
	CCLOG("f2: %f", f2);