【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)

上传人:平*** 文档编号:12840528 上传时间:2017-10-20 格式:DOCX 页数:6 大小:67.54KB
返回 下载 相关 举报
【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)_第1页
第1页 / 共6页
【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)_第2页
第2页 / 共6页
【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)_第3页
第3页 / 共6页
【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)_第4页
第4页 / 共6页
【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)》由会员分享,可在线阅读,更多相关《【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)(6页珍藏版)》请在金锄头文库上搜索。

1、【Cocos2d-X 开发学习笔记 】第 29 期:游戏中数据的存储(上)本系列学习教程使用的是 cocos2d-x-2.1.4(最新版为 3.0alpha0-pre) , PC 开发环境Windows7, C+开发环境 VS2010一般游戏中都需要记录玩家数据,便于玩家下次登录时能够接着上次的游戏记录继续游戏。这样一来就需要我们在开发时对玩家数据进行存档与读档。对于游戏数据的存储,在不同手机操作系统下都有自己的存储方式,例如常见的SQLite 等,在 Cocos2D-X 引擎中考虑到跨平台性,它也为开发者提供了跨平台的存储相关类 CCUserDefault,那么这一期我们就一起来学习如何使用

2、 Cocos2D-X 提供的 CCUserDefault。一、游戏数据存储由于 CCUserDefault 的函数都是静态调用,是不需要创建其对象的,所以下面我们一起来看看 CCUserDefault 的一些常用函数。setBoolForKey(const char * pKey,bool value)作用:保存一个 bool 类型数据。参数 1:key。参数 2:value。setDoubleForKey(const char * pKey,double value)作用:保存一个 double 类型数据。参数 1:key。参数 2:value。setFloatForKey(const ch

3、ar * pKey,float value)作用:保存一个 float 类型数据。参数 1:key。参数 2:value。setIntegerForKey(const char * pKey,int value)作用:保存一个 int 类型数据。参数 1:key。参数 2:value。setStringForKey(const char * pKey,string & value)作用:保存一个 string 类型数据。参数 1:key。参数 2:value。bool getBoolForKey(const char * pKey,bool defaultValue)作用:获取存储一个 boo

4、l 类型数据。参数 1:key。参数 2:当 key 对应的数据不存在时,默认返回的值。bool getDoubleForKey(const char * pKey,double defaultValue)作用:获取存储一个 double 类型数据。参数 1:key。参数 2:当 key 对应的数据不存在时,默认返回的值。bool getFloatForKey(const char * pKey,float defaultValue)作用:获取存储一个 float 类型数据。参数 1:key。参数 2:当 key 对应的数据不存在时,默认返回的值。bool getIntegerForKey(c

5、onst char * pKey,int defaultValue)作用:获取存储一个 int 类型数据。参数 1:key。参数 2:当 key 对应的数据不存在时,默认返回的值。bool getStringForKey(const char * pKey,string & defaultValue)作用:获取存储一个 string 类型数据。参数 1:key。参数 2:当 key 对应的数据不存在时,默认返回的值。bool flush()作用:提交数据,将数据存入文件中。通过学习 CCUserDefault 提供的函数后,我们可以看出这些函数的使用方法很简单,但是在使用时需要提醒大家注意两点

6、:不论是存储了一个还是多个支持的数据类型后,都必须调用flush()函数,当 flush()被调用后,你之前存储的数据才会真正保存到存储文件中。 使用 CCUserDefault 的 getXXX 函数时,应尽可能传入一个默认值(第 2 个参数),以免获取到空数据造成程序异常等。二、数据存储实例1、首先新建 Cocos2D-X 项目,取名为“MyDataSave01”,然后在HelloWorldScene.cpp 文件的 init 函数中添加如下所示代码。cpp view plain copy1. bool HelloWorld:init() 2. 3. bool bRet = false;

7、4. do 5. 6. CC_BREAK_IF(! CCLayer:init(); 7. 8. CCLabelTTF *ttf = CCLabelTTF:create(, Helvetica, 23); 9. ttf-setPosition(ccp(240,160); 10. addChild(ttf); 11. 12. if(CCUserDefault:sharedUserDefault()-getBoolForKey(bool,false) 13. ttf-setString(hava data , start read data); 14. 15. /Load 16. bool iBoo

8、l = CCUserDefault:sharedUserDefault()-getBoolForKey(bool,false); 17. double iDouble = CCUserDefault:sharedUserDefault()-getDoubleForKey(double,0.0); 18. float iFloat = CCUserDefault:sharedUserDefault()-getFloatForKey(float,0.0); 19. int iInt = CCUserDefault:sharedUserDefault()-getIntegerForKey(int,0

9、); 20. std:string iString = CCUserDefault:sharedUserDefault()-getStringForKey(string,); 21. 22. else 23. ttf-setString(not hava data , start save data); 24. 25. CCUserDefault:sharedUserDefault()-setBoolForKey(bool, true); 26. CCUserDefault:sharedUserDefault()-setDoubleForKey(double, 9.22); 27. CCUse

10、rDefault:sharedUserDefault()-setFloatForKey(float, 8.23); 28. CCUserDefault:sharedUserDefault()-setIntegerForKey(int, 23); 29. CCUserDefault:sharedUserDefault()-setStringForKey(string, Himi); 30. /提交 31. CCUserDefault:sharedUserDefault()-flush(); 32. 33. 34. bRet = true; 35. while (0); 36. 37. return bRet; 38. 2、项目效果图。第一次运行项目。 第二次运行项目。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号