关于Cocos2d-x中数据的存储提取和类型转换
1.获得存储在UserDefault中的变量,但是获得的变量是一个String类型的值,要用atoi函数转换为整型,但是atoi函数的传递参数是一个char*类型的值,所以用_Score.c_str()把String转化为Char*
auto userdefault = UserDefault::getInstance();
auto _Score = userdefault->getStringForKey("RewardScore");
_rewardScore = atoi(_Score.c_str());
_rewardScore = _rewardScore + 10;
2.把数据存储在UserDefault中,但是必须先把整型的_rewardScore转化为字符型的变量,用到sprintf函数,转化后就可以存储了
char score_str[100] = { 0 };
sprintf(score_str, "%d", _rewardScore);
userdefault->setStringForKey("RewardScore", score_str);
3.存储在map类型的数据的一系列操作
// 测试代码开始
//Map<std::string, Node*> map1;
// empty函数返回Map容器是否为空
//log("%s", map1.empty() ? "map1容器为空!" : "map1容器不为空!");
// size函数返回Map容器中元素的数量
//log("map1.size: %i", (int)map1.size());
//log("bucket_count = %d", static_cast<int>(map1.bucketCount()));
//for (int i = 1; i <= 10; i++)
//{
// auto node = Node::create();
// node->setTag(i);
// // insert函数向容器中插入新元素
// map1.insert(StringUtils::toString(i), node);
//}
//log("循环给map1容器insertNode之后:");
//log("%s", map1.empty() ? "map1容器为空!" : "map1容器不为空!");
//log("map1.size: %i", (int)map1.size());
//log("----- Map容器中所有key ---------");
//// keys函数获得Map容器的所有键,遍历打印结果并不是插入顺序显示,因为Map是无序的
//auto keys = map1.keys();
//for (const auto& key : keys)
//{
// log("key = %s", key.c_str());
//}
//// getRandomObject函数获得随机的对象
//log("getRandomObject: %i", map1.getRandomObject()->getTag());
//log("------ 根据值查找key --------");
//// at函数根据键查找返回值
//auto node10Key = map1.at("10");
//map1.insert("100", node10Key);
//map1.insert("101", node10Key);
//map1.insert("102", node10Key);
//// 返回参数V在Map中匹配的所有键的集合
//auto keysForObject = map1.keys(node10Key);
//for (const auto& key : keysForObject)
//{
// log("key = %s", key.c_str());
//}
//// find函数根据key查找返回对应的迭代器,迭代器中包含了键和值
//auto nodeToFind = map1.find("100");
//log("first: %s", nodeToFind->first.c_str());
//log("second: %i", nodeToFind->second->getTag());
//// erase函数删除容器中的元素
//log("------ erase之后 --------");
//// 根据key删除
//map1.erase("1");
//// 根据迭代器删除
//map1.erase(map1.find("2"));
//// 根据键集合删除
//std::vector<std::string> itemsToRemove;
//itemsToRemove.push_back("3");
//itemsToRemove.push_back("4");
//itemsToRemove.push_back("5");
//map1.erase(itemsToRemove);
//for (const auto& key : map1.keys())
//{
// log("key = %s", key.c_str());
//}
//// clear函数清空容器
//map1.clear();
//log("------ clear之后 --------");
//log("%s", map1.empty() ? "map1容器为空!" : "map1容器不为空!");
//// size函数返回Map容器中元素的数量
//log("map1.size: %i", (int)map1.size());
关于Cocos2d-x中数据的存储提取和类型转换的更多相关文章
- Android笔记——Android中数据的存储方式(二)
我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...
- Android笔记——Android中数据的存储方式(一)
Android中数据的存储方式 对于开发平台来讲,如果对数据的存储有良好的支持,那么对应用程序的开发将会有很大的促进作用. 总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其 ...
- Matlab中数据的存储方式
简介 MATLAB提供了丰富的算法以及一个易于操作的语言,给算法研发工作者提供了很多便利.然而MATLAB在执行某些任务的时候,执行效率偏低,测试较大任务量时可能会引起较长时间的等待.未解决这个问题, ...
- Android笔记——Android中数据的存储方式(三)
Android系统集成了一个轻量级的数据库:SQLite,所以Android对数据库的支持很好,每个应用都可以方便的使用它.SQLite作为一个嵌入式的数据库引擎,专门适用于资源有限的设备上适量数据存 ...
- 【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一般游戏中都需要记录玩家数据,便于玩家下次登录时 ...
- 【Cocos2d-X开发学习笔记】第30期:游戏中数据的存储(下)
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.对数据进行编解码 在上一期中,我们使用了CC ...
- C/C++中数据的存储
学java时了解到不同的数据在系统中存储的位置不一样,有的存在栈里,有的存在堆里.学C/C++时没注意过这个,最近学数据结构时遇到了问题:在定义一个结构体的指针时,系统如何给它分配的空间?从而让我想去 ...
- Unity中数据的存储与交互的初步分析(PlayerPrefs,Dictionary,JsonUnility)
1.PlayerPrefs PlayerPrefs.SetString(key,Value); PlayerPrefs.GetString(key,Value);字符串类型 PlayerPref ...
- 关于Cocos2d-x中数据的存储
当局分数的打印和最高分数的记录 1.首先定义一个Label类型的节点在GameScene.cpp的init方法中,设置初始分数为0 _myScore = 0; scorelabel = Label:: ...
随机推荐
- Xfire实现webservice各种报错详解
一.No write method for property {http://vo.aa.com}new in class com.aa.vo.TA 使用xfire的ws调用时,会将对象与xml进行捆 ...
- [转]Google 全球 IP 地址库
IP 地址来源:http://www.kookle.co.nr Bulgaria 93.123.23.1 93.123.23.2 93.123.23.3 93.123.23.4 93.123.23.5 ...
- Redis(二十):Redis数据过期和淘汰策略详解(转)
原文地址:https://yq.aliyun.com/articles/257459# 背景 Redis作为一个高性能的内存NoSQL数据库,其容量受到最大内存限制的限制. 用户在使用Redis时,除 ...
- POI导出
public void export(){try {String columns = getPara("nameArray");List<Record> list = ...
- regAsm的历史问题
regAsm是用来注冊.卸载dll成为通用库的一个工具.关于regAsm的具体资料请參照http://msdn.microsoft.com/en-us/library/tzat5yw6(v=vs.11 ...
- IE下JS读取xml文件示例代码
JS读取xml文件具体步骤为:创建DOM对象.加载xml文件(仅适用于IE)附示例代码,感兴趣的朋友可以参考下,希望对大家有所帮助使用javascript脚本读取xml文件,这里暂只考虑IE浏览器st ...
- 【Android】5.4 下拉框(Spinner)
分类:C#.Android.VS2015: 创建日期:2016-02-07 下拉列表框Spinner的用法和WinForms中ComboBox的用法非常相似,在Android应用中使用频次也相当高,因 ...
- ueditor图片上传配置
ueditor图片上传配置文件为ueditor/php/config.json /* 上传图片配置项 */ "imageActionName": "uploadimage ...
- 用c写了个后台扫描
/** * Notice: The program is not debug on internet and not use thread supervene. * date : 6-26 * aut ...
- angular学习笔记(二十)-表单验证
本篇主要介绍angular中的表单验证: 表单验证主要有以下一些内容: 1. required指令: 相当于html5的required属性,验证不能为空 2. ng-maxlength属性: 验证内 ...