【cocos2dx-3.0beta-制作flappybird】我才不会告诉你我硬盘的秘密呢—游戏存储的实现
2014-03-22 09:50
302 查看
一、引言
在该游戏当中,并没有涉及到太多的关于游戏数据的存储的东西。而唯一需要存储的数据,就是最高得分。在这一节中,将简单介绍一下游戏数据存储的实现。针对这个游戏,我们把用户数据的存储写在了UserRcord类中。二、数据持久化
Cocos2d-x3.0 提供了 UserDefault 来实现简单的数据持久化。首先设置数据:
UserDefault::getInstance()->setIntegerForKey(key,score);然后获取数据:
int score = UserDefault::getInstance()->getIntegerForKey(key);由此可见,我们是通过键值来唯一标识存储的每一个数据的。
三、存储的基本原理
UserDefault底层的实现,其实还是采用XML格式的文件来保存数据的。打开游戏的调试目录,我们可以看到这样一个文件而UserDefault.xml里的内容是这样的:
<?xml version="1.0" encoding="UTF-8"?> <userDefaultRoot> <best_score>13</best_score> </userDefaultRoot>
四、小结
这一节只是简单的介绍了cocos2d-x3.0里自带的一种存储方式,这种方式在存储的数据比较少的时候是可行的。当然关于存储还有很多值得讨论的地方,比方说游戏数据的加密和解密,采用比UserDefault更加底层的FileUtil的方式来存储数据,以及采用轻量型的数据库SQLite来存储比较大的游戏数据,以获得较好的存取性能和安全性能等等。有关详细代码,还请移步到github:https://github.com/OiteBoys/Earlybird
相关文章推荐
- 【cocos2dx-3.0beta-制作flappybird】一闪一闪亮晶晶—游戏金币闪烁效果实现
- 【cocos2dx-3.0beta-制作flappybird】千层饼的智慧—谈谈游戏主场景的分层以及最简单的背景层的实现
- 【cocos2dx-3.0beta-制作flappybird】布告栏中的玄机—游戏状态层的设计与实现
- 【cocos2dx-3.0beta-制作flappybird】物理世界的美妙—游戏层的物理属性的设置
- 【cocos2dx-3.0beta-制作flappybird】终于要来正戏了—游戏层的设计和小鸟的加入
- 【cocos2dx-3.0beta-制作flappybird】让马里奥大叔来搬水管—在游戏层加入水管
- 【cocos2dx-3.0beta-制作flappybird】——游戏控制层的设计以及控制层和游戏层的关系
- 【cocos2dx-3.0beta-制作flappybird】对不起,我的数学老师是体育老师兼职的—游戏中所用到的数字类封装
- 【cocos2dx-3.0beta-制作flappybird】玄关是必要的—游戏欢迎界面的创建
- 【cocos2dx-3.0beta-制作flappybird】就要结束了吗—Android交叉编译以及后继
- 关于【cocos2dx-3.0beta-制作flappybird】教程在3.2工程中出现找不到CCMenuItem.h的解决方法
- 关于【cocos2dx-3.0beta-制作flappybird】教程在3.2project中出现找不到CCMenuItem.h的解决方法
- cocos2dx3.3开发FlappyBird总结十六:游戏层实现
- cocos2dx游戏--三国关羽传【角色扮演类】Demo的制作及实现
- 【cocos2dx-3.0beta-制作flappybird】跟随时代的潮流,关于引擎升级
- 【cocos2dx-3.0beta-制作flappybird】——背景介绍
- 【cocos2dx-3.0beta-制作flappybird】英雄都是孤独的?--小鸟单例类的设计以及小鸟类的设计
- 【cocos2dx-3.0beta-制作flappybird】尾随时代潮流,关于引擎升级
- 【cocos2dx-3.0beta-制作flappybird】就这么开始--开发环境的搭建素材的准备
- 【cocos2dx-3.0beta-制作flappybird】未雨绸缪—Loading界面的写法