温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于Cocos2D-X框架闯关游戏的设计
计算机专业
基于
Cocos2D
框架
闯关
游戏
设计
题目:基于Cocos2D-X框架闯关游戏的设计
摘 要
随着智能设备平台的普及、用户数量的增多,智能平台的应用,尤其是游戏异常火爆,从植物大战僵尸到愤怒的小鸟,移动平台游戏的开发进入了新的阶段。但是另一方面,平台的多样性也给开发者带来诸多不便,怎样将一款游戏发布到多个平台也是开发者们一直在探索的问题。特别是随着Android和iOS平台的兴起,开发者的游戏跨平台的需求更强了,随机Cocos2D-X分支诞生。其中“x”包含了两个意思:一方面是C++的文件扩展CXX,“x”表示该项目是由C++编写的;另一方面意味着交叉,这个开源项目的目的是让用户创建跨平台的代码。Cocos2d-x使用C++重写的Cocos2D-x框架,因为Android和iOS均支持C++。
因为Cocos2d-x具有跨平台的特点,再加上Cocos2d全球社区的支持,Cocos2d框架简单易学、十分容易快速上手,因为Cocos2d-x迅速成为开发者的首选。经过一段时间的发展,众多开发者使用Cocos2d-x开发出了多款游戏,包括捕鱼达人、地铁总动员等。
关键字:智能设备、Cocos2D-X、游戏、Android;
目 录
一、绪论 1
(一)开发背景 1
(二)国内外研究现状 1
(三)游戏开发目的及意义 2
(四)本课题所研究的内容 3
二、开发技术和相关理论介绍 4
(一)Cocos2D-X游戏引擎概述 4
(二)C++的特点 5
三、系统概要设计 7
(一)设计思路与原理 7
(二)系统开发与选用 7
四、游戏详细设计与实现 9
(一)游戏主要设计 9
(二)游戏成果图 12
五、研究目标与主要特色 14
(一)研究目标 14
(二)主要特色 14
结论 16
致谢 17
参考文献 18
18
一、绪论
手机游戏,在过去一段较长的时间里,基本都是基于J2ME(Java 2 Micro Edition),但是由于Java是一种编译成字节码后在解释执行的语言,所以在效率上远远比不上c/c++,而游戏却十分讲究效率,因为一旦效率低下,会直接影响玩家对游戏的体验,即便游戏做得再好再漂亮,没有一个良好的体验,也不能为玩家所接受。随着科技的发展,特别是近几年智能手机系统的兴起,J2ME逐渐退出舞台。取而代之的是针对各自主流游戏手机系统的语言的兴起,例如IOS的Object-C,Android和Java和 Windows Phone的C#,即使后者也是运行在虚拟机上的,但是厂商已经针对自身平台对它们做了特殊优化,所以效率上也远远超过J2ME,但是手机系统平台多的今天,如果每一个游戏都用多种语言复习,这种时间和资源的代价是很高的。于是,c/c++的高效率和跨平台能力有一次等到体现。
(一)开发背景
Cocos2D-X游戏引擎是一个支持多平台的2D手机游戏引擎,使用C++开发,基于Opengl ES,基于Cocos2D-iPhone,支持WoPhone,IOS4.1,Android2.1及更高版本,Windows XP&Windows 7,Windows Phone 8。
Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的框架。手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,开发者编写的源代码很容易在桌面操作系统中编辑和调试。
(二)国内外研究现状
我们的国内现状还是没有比国外有过大的差距的。我曾经玩过数字巧克力的一款盖楼的游戏,扎眼一看只是一个搭积木的游戏,但却能让你一连玩几个小时游戏,变化无穷,游戏的设计者花了多少心思在其中可见一斑。而国内我也遇到过类似的例子。如上海幽幽推出的一款名为八卦西游勇闯盘丝洞的游戏,其实这就是一款简单的走迷宫游戏,但是与西游题材相结合后加上搞笑的对白与画面效果是整体游戏便有了一个升华。同样是让人沉迷其中。但是我还是想说一句,很多这样的游戏并没有变成产品,变成产品的那些一半以上没有上线,上线的那些一半因为制作中的某些环节,也已经面目全非,最初的那点创意根本没有体现出来。所以我觉得我们国内根本不缺好的创意,只是种种的原因导致这些创意没有很好的体现出来。所以那“种种原因”才是我们需要关心的。
在智能手机上的游戏,无论是技术还是创意,国内可以说是完全跟着国外走。首先,在技术上,Cocos2D-X虽然是国人在维护,但追溯到Cocos2D-X起源,2008年出生与阿根廷的Ricardo Quaesada用Python开发出Cocos2D,2010年Cocos2D的团队吧Cocos2D移植到IOS平台,命名为Cocos2D-iPhone,2011年,由国人领导的团队吧Cocos2D-iPhone用c++翻译,Cocos2D-X诞生,往后的一两年里,Cocos2D的其他分支陆续诞生,而Cocos2D-X因为强大的移植性得到广泛使用,现在无论在App Store还是Android的各个商城上,用Cocos2D-X开发的游戏也数不胜数。
其次,在游戏创意上,物理游戏大多是偏向于益智类,如有名的《愤怒的小鸟》和《扑鱼达人》等等,物理游戏最大的特点是游戏世界与现实世界相近,能使玩家更容易思考和了解生活中的物理现象,具有很好的教育性和趣味性。
(三)游戏开发目的及意义
在市场定位的过程中,游戏产品属于文化范畴,对于游戏玩家来说,其实所以会选择自己喜欢的游戏,就是因为想要在娱乐上得到一个满足。而相应的对于游戏开发商来说,我们就应该迎合这样的一个需求,满足市场上的消费者的需求,就是要在开发游戏的过程中,找到游戏玩家真正需要的,找准明确的市场定位,将游戏的开发和后期的服务升级等,都以消费者为最终的出发点。
物理游戏有很多其他游戏不可比拟的优势。首先,它设定的世界和现实世界很接近,其实世界存在的很多属性,在游戏世界里都能一一重现,对幼龄玩家了解生活、了解物理很有帮助;其次,物理游戏里可以实现很多生活中难以接触,甚至是不存在的物体,这样可以使玩家的想象力和逻辑能力得到很好的锻炼。
综上所述,物理游戏有着很好的教育意义。往日,一提及游戏,家长总会想到“沉迷”、“段落”这些贬义词与,而娱乐有时生活中必不可少的东西,物理游戏正正可以成为游戏正名,它是娱乐,但是它又把教育和游戏相结合,可以在游戏过程中潜移默化的影响玩家,引起玩家的思考,激发起玩家学习的主观能动性。
(四)本课题所研究的内容
本课题主要研究基于cocos2d-x开源游戏引擎,在window7操作系统平台下,使用Microsoft Visual Studio 2010开发工具进行开发。在技术实现上,采用基于C++相结合,以实现基本的游戏逻辑流程,保证系统的高性能,提高本游戏的可维护性和可移植性。
在整个游戏开发中,首先对游戏的设计和需求进行了详细的考究,查阅大量的相关资料以及翻阅老师所提供的游戏资料,并且借鉴了一些其他物理游戏的开发经验及老师的专业指导,最后提出设计方案。
二、开发技术和相关理论介绍
(一)Cocos2D-X游戏引擎概述
1、Cocos2D-X的特点
其除跨平台外,相对其他的移动游戏引擎还有以下特点:
(1)易用性:易于学习掌握的API,大量实例代码和文档,有C++语言功底的新手只需花一个月就能上手完成简单游戏;
(2)高效性:使用OpenGL ES1.1最佳方式进行渲染;
(3)灵活性:易于扩展,易于与其他开源库集成使用;
(4)活跃的社区:全球化的活跃论坛;
(5)成功商用:根据开源社区的保守统计,基于Cocos2d-x开发的游戏全球范围内已经突破一亿安装量。
2、Cocos2D-X的功能
(1)非常容易的进行不同场景之间的流程控制管理;
(2)菜单维护简;
(3)支持标签和html标签的文本渲染;
(4)快速而方便的精灵;
(5)按照你的想法只会精灵变化,可组合的动作,包括移动、旋转和缩放;
(6)支持包括波浪、旋转和透镜等特效;
(7)支持矩形和六边形的瓦片地图(Tiled Maps);
(8)支持场景切换特效;
(9)支持粒子系统;
(10)支持硬件加速,即基于opengl es1.1实现图形渲染系统;
根据不同屏幕分辩率自动缩放适配;
关于Cocos2D-X中的“X”,“X”有两个意思,一个是表示“C++”,因为有时候,C++文件的后缀名可以用cxx代替,因此X便表示该开源项目使用C++编写,并且提供C++的API,二是表示“Cross”该开源项目的目标是跨更多平台。目前支持的平台是在iPhone,Andorid的,WoPhone,Win32平台上,但可根据要求提供更多的平台。
Cocos2D-x继承了Cocos2D的全部特点,包括如下内容:
(1)流程控制:非常容易地管理不同场景之间的流程控制。
(2)精灵:快速而方便的精灵。
(3)动作:可组合精灵的动作(如移动、旋转和缩放等),使精灵动起来。
(4)特效:包括波浪、旋转和透镜等特性。
(5)平面地图:支持平面地图和45度角地图。
(6)转换:从一个场景移动到另外一个不同的场景。
(7)菜单:创建内部菜单,包括主菜单和游戏菜单。
(8)文本渲染:支持文本渲染标签。
(9)文档:包括编程指南、API参考、视频教学和很多简单的测试例子。
4、Cocos2D-X的应用
由于跨平台的特性,Cocos2D-x得到了诸多开发者的喜爱。截至2012年4月月底,使用Cocos2D-x开发的游戏有200多个,同时有很多用Cocos2D-iPhone开发的游戏的移植版本。
开发者也尝试着使用Cocos2D-x实现很多不同游戏中的效果。CocoaChina论坛举办的特效大赛中,很多特效都基于Cocos2D-x游戏引擎开发。从显示水波纹效果到塔防游戏例子,从切绳子特效到“愤怒小鸟”太空版效果模拟,Cocos2D-x的“江湖霸主”地位初步显现。
(二)C++的特点
C++的主要特点有两个方面:全面支持C语言和面向对象;
C++从C语言发展而来,保持了C语言的简介、高效和在某些操作上沿用了汇编语言指令的特点。同时,对C语言的类型进行了系统的改革和扩充,堵塞了C语言中的许多漏洞,C++便已提供了更好的类型检查和编译时的分析,能检查出更多的类型错误。C++改善了C语言的安全性,比C+语言更安全。
由于C++保持与C语言兼容,这就是许多代码并不经修改就可以在C++编译器下通过,用C语言编写的众多库函数和实用软件可方便地移植到C++中。因此,使用C语言的程序员能很快学会C++,使用C++进行编程。另外,用C++编写的程序可读性号,代码结构更为合理。
C++的最重要的特点是支持面向对象的程序设计,使用C++编程,编程效率高;由于面向对象更接近人类认识世界的方法,C++对于问题更容易描述,程序更容易理解和维护,C++的模板对库代码的重用提供了支持;C++更有利于大型程序设计。
C++是一种支持多种程序设计方法的语言,提供对过程化和基于对象的程序设计方法的支持。使用于不用使用开发方法的编程人员。
C++是一种可以撰写跨平台应用软件的面向对象的程序设计语言,C++技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网。