我已经找到了如何在cocos2dx中存储一个值。这就是我找到的方式:
UserDefault *def = UserDefault::getInstance();
def->setIntegerForKey("HIGHSCORE", highscore); // highscore = 100
def->flush();
但是当我通过那把钥匙获得价值时,我仍然得到0:
auto val = def->getIntegerForKey("HIGHSCORE");
在窗口的AppData目录中创建了一个名为“UserDefault.xml”的文件,但它没有数据。我必须覆盖flush()函数才能将数据保存在该文件中吗?
答案 0 :(得分:0)
下面的代码在开发平台(Window和MacOSX)上运行良好
保存数据:
UserDefault* _userDef = UserDefault::getInstance();
_userDef->setIntegerForKey("HIGHSCORE", score);
_userDef->flush();
检索数据:
int current_score= _userDef->getIntegerForKey("HIGHSCORE");
想要在资源管理器中访问您的XML文件:
CCLOG(_userDef->getXMLFilePath().c_str());
.xml
文件, user_name 和 app_name 的打印位置因您的用户名和应用名称而异。
C:/Users/user_name/AppData/Local/app_name/UserDefault.xml