关于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:: ...
随机推荐
- AME_PR采购申请单通过AME审批设定和测试(案例)
2014-06-21 Created By BaoXinjian
- Linux调度器 - deadline调度器
一.概述 实时系统是这样的一种计算系统:当事件发生后,它必须在确定的时间范围内做出响应.在实时系统中,产生正确的结果不仅依赖于系统正确的逻辑动作,而且依赖于逻辑动作的时序.换句话说,当系统收到某个请求 ...
- Python rjust() 方法
描述 rjust() 返回一个原字符串右对齐,并使用指定字符填充至指定长度的新字符串,默认的填充字符为空格.如果指定的长度小于原字符串的长度则返回原字符串. 语法 rjust() 方法语法: S.rj ...
- ArraySegmentSample
class Program { static void Main() { , , , , , }; , , , , , , }; ] { , ), , ) }; var sum = SumOfSegm ...
- gulp#4.0 Did you forget to signal async completion?
异常截图 解决方案: https://stackoverflow.com/questions/36897877/gulp-error-the-following-tasks-did-not-compl ...
- jquery资源
一.时间日期: 倒计时jQuery插件 Countdown :http://code.google.com/p/jquery-countdown/ 使用案例:http://www.tieyou.com ...
- BBED标记坏块以及修复坏块
创建測试表: ZBDBA@orcl11g>select * from zbdba; NAME -------------------------------------------------- ...
- xilinx 官方技术资料
http://china.xilinx.com/support/index.html/content/xilinx/zh/supportNav/ip_documentation.html
- cocos2d-x Vector 使用心得
标准库Vector类型使用需要的头文件:#include <vector>Vector:Vector 是一个类模板.不是一种数据类型. Vector<int>是一种数据类型. ...
- hdoj 2717 Catch That Cow
Problem Description Farmer John has been informed of the location of a fugitive cow and wants to cat ...