Cocos2dx:无法存储数据?

时间:2017-07-14 09:52:18

标签: c++ cocos2d-x

我已经找到了如何在cocos2dx中存储一个值。这就是我找到的方式:

UserDefault *def = UserDefault::getInstance();

def->setIntegerForKey("HIGHSCORE", highscore); // highscore = 100

def->flush();

但是当我通过那把钥匙获得价值时,我仍然得到0:

auto val = def->getIntegerForKey("HIGHSCORE");

在窗口的AppData目录中创建了一个名为“UserDefault.xml”的文件,但它没有数据。我必须覆盖flush()函数才能将数据保存在该文件中吗?

1 个答案:

答案 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