基于Cocos2D—x引擎的手游设计与开发
2016-12-21高光刘琳琳申秋慧
高光+刘琳琳+申秋慧
摘要:当今的社会已经进入到移动互联网的时代,随着移动终端尤其是手机的迅速普及,游戏从PC端向手机端发展的趋势日益明显。该文基于Cocos2D-x引擎技术,研究其在IOS系统平台下的设计与开发,同时使用Eclipse、OpenGL ES等工具进行封装保存数据,对于在IOS下开发游戏具有较好的实际应用效果。
关键词:IOS;Cocos-2D;Eclipse;手机游戏
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)28-0065-02
当今社会,围绕移动互联网展开的产业日益增多,而手机游戏已经发展到其中非常重要的一个行业。据统计,截止到2015年底,在中国,手游的使用者人数已经突破3亿。在这种情况下,各种手机游戏和手机游戏开发技术非常多,如何采用较为有效的技术开发具有多种效果的手游,就成为了业界非常重要的研究课题。基于此请狂,本文采用动画制作技术——Cocos2D-x,将其应用到手游唱的设计与开发中,取得了较好的实际应用效果[1]。
1.背景与意义
1.1 背景及相关介绍
目前,手游的开发主要基于两大平台:IOS平台和Andriod平台,其中Andriod平台由于其为免费开放平台,理论上易于手游开发者进行开发,但是开放造成的管理混乱和开发者权利得不到保障,使得越来越多的手游开发者转战于IOS平台,同时IOS平台又为开发者提供较为便捷的平台接口,使得IOS平台已经成为手游开发的最大平台。本文也是在此条件下进行研究开发。
1.2 游戏开发引擎介绍
手机游戏的开发作为一个综合性的项目,前期的客户体验如视觉,情节和速度等因素产生的客户体验与后期维护非常重要,其决定了一款游戏的质量与生存[2]。从技术领域上来说可分成若干个模块,如开发引擎选择与配优,游戏效果渲染,动画内容设计,仿真冲撞等模块。手游开发者需要想尽可能地降低开发难度,提高开发技术的适用性,以及降低后期维护成本,在各个环节中,游戏引擎的选择与配优环节至关重要。
目前经常使用到的引擎技术有Cyclone2D,Smart2D等,这两个游戏引擎具有容易上手,封装简单等特点,但是技术的拓展性不强,不适用于不同场景下转换较多的游戏开发[3]。
本文所采用的Cocos2d-x,本身是用于动画设计中一项专业技术,后引用到IOS平台下的应用开发,并在手游领域得到了充分的应用,其技术拓展性较好,且技术本身稳定,可以支持多种开发语言,且支持跨平台开发[4]。在Cocos2d-x游戏引擎中,所有的动画都可以在编辑器中得到仿真实现,且更改容易。
Cocos2d-x的框架图如图1所示,从图中可以看到,各个模块间构成一个树状图,而OpenGL ES 3.0正是根据这种关系进行游戏效果渲染。
2 手游开发框架
手游框架如图2所示,该框架图大体借鉴了此类游戏引擎框架的架构进行设计开发的[5]。整个游戏框架大体分为3层,其中引擎模块是已封装好的库,并且提供大量的接口面向开发者使用。管理模块包含:普通自定义类模块、管理模块、布局模块、场景模块、数据模块等,其具体实现的内容有特效处理,音效处理,数据处理,算法设计及其他模块。
手游需要满足以下功能特征:
1)游戏模式多种多样,需要满足:单机和接网两种模式;在使用中按照游戏情
节分为单人模式,多人模式以及集团模式;
2)游戏规则固定且涵盖用户的多种需求,需要根据用户的得分及失分,花费时
间等判别输赢;
3)游戏需要完善的登陆,更新及退出机制。
手游开发和设计过程中需要注意以下内容:
1)流程控制:有效管理控制不同场景之间切换实现。
2)导演设置:手游的领导者和仲裁者,利用导演设置可以获取设备的状态,感
应以及场景切换等。
3)场景:即设置游戏中关卡场景,保证其界面效果,场景比较抽象,其作用只
是用来管理游戏中的一个布景。
4)布局:多个布局组成场景,其布局就相当于游戏场景中的背景图,关卡布局不同也就是场景的差别。在有些情况下,为了很好的管理,会把一个场景分为多个布景,如UI界面。
5)对象:对象是游戏最主要的因素特征,就像超级玛丽奥中的蘑菇、乌龟等,是有开发者自主定义的。
6) 动作内容:包括有移动,放缩、雾化、闪烁及跳跃等。
3 技术开发实现
游戏界面展示的是开始、退出、音效控制、背景还原、情节设置等按钮。为了使游戏安装的流畅性,一般可以采取压缩图片的方式,Cocos2d-x中有很多库函数供调用以实现压缩的效果,也开放相应接口来读取压缩文件[6]。
由于Cocos2d-x是由OpenGL ES进行图形渲染的,纹理会的容量大小为,本文采用ZwOptex和TextruerParcke对渲染后的效果进行压缩。
特效模块采用粒子编辑器得以实现,在实现的过程会形成散射状的光环特效;音效处理采用旋转按钮和背景音乐节奏方式进行控制;数据模块采用的Lua管理,在手机物理内存中保存数据信息;按键监听采用的是Cocos2d-x引擎的内部接口来监听手机按键;
Cocos2d-x采用的关键算法是根据物理世界中物体冲击效果进行判断的。引擎模块在采用Cocos2d-x进行开发的同时,使用OpenGLES技术进行画图渲染,Lua工具进行数据管理和控制。用Cocos2d-x引擎实现模块功能并进行类封装,然后用接口串行。用OpenGLES对图片进行优化处理,用Lua在手机本地创建一个不可修改的文件夹,把游戏产生的数据进行保存。
除此之外,Cocos2d-x技术在开发IOS平台下的手游的过程中,需要注重游戏的性能配置、稳定度、资源的加密手段、反射手段。
4 结论
Cocos2d-x技术在对IOS平台下的手游的开发实现过程中具有良好的适用性和稳定性,能较好完成手游的绝大部分功能,但是在实现过程中出现内存泄漏和卡屏的小概率事件,需要在今后的研究工作中进行进一步的研究。
参考文献:
[1] 满硕泉.Cocos2D-x权威指南[M].北京:机械工业出版社,2013:33-36.
[2] 王洪江.浅析手机游戏开发技术[J].吉林省教育学院学报,2015(1):4-6.
[3] 邓正阳,陈和平,苏鹏.动态脚本语言Lua与C++交互方法的研究与实现[J].电脑与信息术,2010,18(4):25.
[4] 于造波.脚本技术在游戏引擎中的应用[J].电脑知识与技术,2008,24(4):22-23.
[5] Ierusalimschy,Roberto. Programming In Lua[M].John Wiley & Sons Inc:2005.
[6] Philippe Salembier,John R Smith. MPEG-7 Multimedia Description Schemes[J].IEEE Transactions on Circuits and Video Technology,2001,11(6):748-759.