cocos2dx跨平台游戏PoetryInGame

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ProgramVAE/article/details/78002406

项目简介:

项目地址
下载后新建一个项目,将下载的class和sources替换即可。要注意版本信息。
效果展示:

这个项目是我和其他两个同学参加微软创新杯时开发的一个游戏,游戏完全使用c++开发的,主要借助cocos2dx游戏开发引擎完成。poetryInGame是一款2d横版过关冒险游戏,这款游戏是我们主要为小孩子开发的。顾名思义,我们将中国的古诗词融入到游戏中,可以让小孩子在玩游戏中学习到古诗。

开发环境:

linux、windows、mac、vim、g++、gdb、make

主要技术:

物理引擎 :

1、cocos2dx中有两种物理引擎chipmunk和Box2D,其中cocos2dx将chipmunk进行了封装,将其转化为自己独有的一套物理引擎,能够和cocos2dx结合的更加紧密。

2、物理引擎用来在游戏中模拟现实世界中的重力,摩擦力等等物理现象的,所以在物理引擎中有许多和现实世界对应的核心概念,例如世界(word),物体(body),形状(shape),接触点(contact),关节(jojnt)。物体像是人的灵魂,形状像是人的躯体,每个物体拥有形状,通过形状和世界产生联系,因为有了形状,所以会受到重力,摩擦力,弹力等等的影响。

内存优化 :

1、资源的预加载(音乐、图片、地图等资源文件在游戏启动画面时进行预加载)

扫描二维码关注公众号,回复: 4721307 查看本文章

2、批次渲染(例如飞机大战中的子弹,如果屏幕中要出现100个子弹,按照平常的方法,使用for循环创建100个子弹,这种效率奇低。可以使用批次渲染,一次性创建好100个子弹)

3、将许多小图片拼图成plist一次性加载,减少IO操作

4、选择使用png图片,不使用jpg图片

跨平台适配 :

1、跨平台乱码问题:产生的主要原因是因为代码是在windows下写的,windows下的默认编码是gdk,所以代码中有中文就会在其他平台产生乱码,解决的主要办法就是在windows下将代码转换为utf-8,将编码统一。

2、环境配置问题 :主要是一些网络库的移植问题。

3、横屏和竖屏问题 :在工程的配置文件中修改对应的属性即可。

4、分辨率适配 :

cocos2dx自提供的分辨率适配策略,比如无边策略,固定高度,固定宽度,全显示策略,缩放,拉伸。

提供多种分辨率的素材。

设计模式 :

1、单例设计模式:主要在导演对象和缓存管理对象中用到。单例模式的具体实现请轻戳

2、委托设计模式:避免“上帝类”的出现,委托设计模式是为了降低一个对象的复杂度和耦合度,使其能够更具有通用性而将其中一些处理代码置于委托对象中的编码方式。通用类因为通用性(与具体应用的无关性)而变为框架类,框架类引用着委托对象的指针,并在需要时回调委托对象相关函数。

3、观察者设计模式

猜你喜欢

转载自blog.csdn.net/ProgramVAE/article/details/78002406