Cocos2d-x保存用户游戏数据CCUserDefault类使用实例

 更新时间:2020年4月25日 17:41  点击:1712

我们可以利用这个类来保存我们的游戏数据,下面的代码是具体的用法。

bool HelloWorld::init()
{
  //////////////////////////////
  // 1. super init first
  if ( !CCLayer::init() )
  {
    return false;
  }

	bool bvalue = true;
	int ivalue = 100;
	float fvalue = 3.14f;
	double dvalue = 3.1415926;
	std::string svalue = "www.zaojiahua.com";

	//函数的意思很明白,第一个都是一个char * 类型的变量,第二个就是要写入的变量对应的类型
	//CCuserDefault类是一个单例设计模式
	CCUserDefault::sharedUserDefault()->setBoolForKey("bvalue",bvalue);
	CCUserDefault::sharedUserDefault()->setIntegerForKey("ivalue",ivalue);
	CCUserDefault::sharedUserDefault()->setFloatForKey("fvalue",fvalue);
	CCUserDefault::sharedUserDefault()->setDoubleForKey("dvalue",dvalue);
	CCUserDefault::sharedUserDefault()->setStringForKey("svalue",svalue);

	//将内容写到文件UserDefault.xml中,这个文件在proj.win32\Debug.win32目录下
	CCUserDefault::sharedUserDefault()->flush();

	//用来读取数据,如果你是用python建立的工程,那个dos窗口是出不来的,你需要修改main.cpp的代码
	//修改的时候按照原来使用模板建立的工程修改。
	CCLOG("ivalue = %d\ndvalue = %lf\nfvalue = %f\nsvalue=%s\n",
		CCUserDefault::sharedUserDefault()->getIntegerForKey("ivalue"),
		CCUserDefault::sharedUserDefault()->getDoubleForKey("dvalue"),
		CCUserDefault::sharedUserDefault()->getFloatForKey("fvalue"),
		CCUserDefault::sharedUserDefault()->getStringForKey("svalue").c_str()
		);

  return true;
}

[!--infotagslink--]

相关文章