基于cocos2d-x的跨平台游戏的设计与实现本科毕业设计.doc
《基于cocos2d-x的跨平台游戏的设计与实现本科毕业设计.doc》由会员分享,可在线阅读,更多相关《基于cocos2d-x的跨平台游戏的设计与实现本科毕业设计.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 毕 业 设 计题目基于Cocos2D-X的跨平台游戏的设计与实现姓 名 学 号 系(院) 班 级 指导教师 职 称 二O一四 年 五 月 二十 日毕业设计(论文)答辩评审表课题名称基于Cocos2d-X的跨平台游戏的设计与实现学生姓名 答辩小组评分指导教师签名评语:答辩小组负责人签字:年 月 日答辩小组成员签 名毕业设计(论文)成绩评定表指导教师评分(30分)评阅人评分(30分)答辩评分(40分)综合成绩答辩委员会负责人签字:年 月 日淄博职业学院信息工程系毕业设计目 录第一章绪论41.1 手游背景41.2 发展趋势41.3 研究意义41.4 不足之处5第二章相关技术62.1 C+语言62.
2、2 Cocos2D-X平台技术介绍62.3开发工具7第三章设计概要83.1 游戏介绍83.2游戏的结构例图83.3功能模块分析图103.3.1 游戏欢迎页面103.3.2 游戏主页面103.4游戏失败11第四章项目设计124.1 游戏架构设计12第五章项目实现135.1游戏总体实现135.2各模块实现135.2.1功能的实现依赖135.2.2 游戏主欢迎页的实现135.2.3游戏主场景155.2.4游戏主角类165.2.5敌机类175.2.6 敌机管理195.2.7 触摸事件225.2.8 游戏结束场景23第六章学习心得24第七章项目总结与展望25参考文献26第1章 绪论1.1 手游背景手游指
3、在手机等各类手持硬件设备上运行的游戏类应用程序,其需要具备一定硬件环境和一定系统级程序作为运行基础。2004年,手机游戏均为WAP游戏,到2005年,图形化手机游戏激增,已经超过40余 款。2005年6月,盛大英特尔宣布携手共同开发国内手机游戏市场,手机网游行业阵营开始空前壮大,继盛大、北京掌讯、美通之后,网易、空中,标派等也纷 纷加入,目前国内手机游戏厂商已经近30家。手机游戏尚处于市场导入期,在未来几年内,手机游戏将步入快速发展阶段。1.2 发展趋势近年来,随着智能机的普及以及3G的覆盖率增加,手机网游日益兴起,现已经有近两千万的手机网游玩家了。2014年,国内移动互联网竞争格局未定,运营
4、商拒绝管道化欲谋更多话语权,转型力度、资源投入日趋加大;在部分细分领域,围绕运营商转型的业务和渠道价 值骤然放大,引发产业整合日趋频繁。在此背景下,国内移动互联龙头拓维信息通过多年技术积累及运营商渠道优势,确定以手机动漫与游戏业务为两大核心发展方 向之一。1.3 研究意义全球在使用的移动电话已经超过10亿部,而且这个数字每天都在不断增加。在除美国外的各个发达国家,手机用户都比计算机用户多。手机游戏潜在的市场比其他任何平台,比如PlayStation和GameBoy都要大。在控制台游戏时代,GameBoy热销的一个原因就是便携性人们可以随时随 地沉浸在自己喜欢的游戏中,还可以随时随地抢购自己喜欢
5、的装备或宠物。和游戏控制台或者PC相比,手机虽然可能不是一个理想的游戏设备,但毕竟人们总是随 时随身携带,这样手机游戏很可能成为人们消遣时间的首选。手机便携性、移动性的特征更能满足用户随时随地玩游戏的需求,用户利用排队、等车的时间进行游 戏,手机游戏碎片化的特性凸显。调查显示,29.8%的用户在用手机玩游戏以后电脑端玩游戏的时间减少,手机游戏已经开始抢夺电脑游戏时间。22.4%的 用户手机游戏时间越来越长,仅有10%的用户时间变短,手机游戏已逐渐成为一种普遍的娱乐方式。因为手机是网络设备,在一定限制因素下可以实现多人在线游戏。随着移动网络的发展,移 动游戏也越来越多的被大家接受,对于之前长期通
6、知市场的掌机来说造成了不少的冲击。市场研究公司IDC和App Annie报告显示2013年第一季度iOS和Android平台游戏业务营收是掌机的3倍。手机游戏市场潜力大,投入资金少,吸引了很多市场进入者,但中小SP在激烈的竞争中生存问题是需要考虑的主要问题。手机游戏开发商、游戏应及服务提供商不重视市场宣传和推广工作,忽视对于游戏产品,用户的体验和习惯培养重要性。手机游戏市场竞争激烈,该竞争涉及国内,也涉及国外游戏开发商。追求低成本和短期利益,现游戏产品的质量粗糙。手机游戏的同质化也越来越严重,创新力不足。 第2章 相关设计2.1 C+语言C+语言是一种使用非常广泛的计算机编程语言。是一种静态数
7、据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。C+在一定程度上可以和C语言很好的结合,甚至大多数C语言程序是在C+的集成开发环境中完成的。C+相对众多的面向对象的语言,具有相当高的性能。C+引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括MFC、QT就是使用的C+。C+避免平台限定或没有普遍用途的特性。C+不使用会带来额外开销的特性。C+设计成无需复杂的程序设计环境。2.2 Cocos2D-X平台技术介绍cocos2d是一个基于MIT协议的开源框架,用于构建游戏、应用
8、程序和其他图形界面交互应用。这是一个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主要功能:流程控制(Flow control):非常容易地管理不同场景(scenes
9、)之间的流程控制;精灵(Sprites):快速而方便的精灵;动作(Actions):告诉精灵们该做什么。可组合的动作如移动(move)、旋转(rotate)和缩放(scale)等更多;特效(Effects):特效包括波浪(waves)、旋转(twirl)和透镜(lens)等更多;平面地图(Tiled Maps):支持包括矩形和六边形平面地图;转换(Transitions):从一个场景移动到另外一个不同风格的场景;菜单(Menus):创建内部菜单;文本渲染(Text Rendering):支持标签和HTML标签动作;文档(Documents):编程指南 + API参考 + 视频教学 + 很多教用
10、户如何使用的简单测试例子;MIT许可:尽管用就是了;基于Pyglet:没有外部的依赖;基于OpenGL:支持硬件加速;3D对象:MD2模型支持;脚本语言:支持Lua,JavaScript语言。图2.2 Cocos2D-X引擎架构2.3开发工具游戏在WindowsXP系统下开发,基于visual studioC+2008的开发平台,采用了cocos2d-x技术进行开发。操作系统:MicrosoftWindows7程序语言:C+开发工具:Microsoft VisvalStudio2012,cocos2d-x-2.2.2MicrosoftVisualC+,(简称VisualC+、MSVC、VC+或
11、VC)微软公司的C+开发工具,具有集成开发环境,可提供编辑C语言,C+以及C+等编程语言。VisualC+以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加链接著称。这些特征明显缩短程序编辑、编译及链接的时间花费,在大型软件计划上尤其显著。C+语言是目前面向对象编程的首选语言,学习、使用C+语言并进行应用程序设计的人员非常多,Microsoft公司的VisualC+2008因其强大的功能、非常友好
12、的界面而成为当前最为热门C+语言开发环境。VisualC+提供的集成开发环境、MFC类库和应用程序框架极大地便利了用C+语言开发Windows应用程序所需的源代码编写、用户界面设计、消息映射、编译链接和调试运行等工作。第3章 设计概要3.1 游戏介绍这是一款飞行射击类游戏,整体环境主要还是围绕太空为主,高保真的音效,为玩家呈现一场不一样射击体验。简单的触屏操 作,触屏按住随意一个地方,左右移动,便可自动攻击敌人,上下移动亦可躲避强敌。在飞机的左下角还有两个道具槽,直接点击就可以发动道具效果,前提是你必 须要吃到道具。玩家在游戏中要做的就是驾驶着最新战机,在敌机身前发动攻击。在击毁敌机的同时获得
13、分数,击毁的敌机越多,则相对的获得分数就越高。玩家进行游戏的时候需要注意不能被敌机及敌机子弹碰到,否则玩家控制角色死亡,同时游戏结束。记录玩家获取的积分。3.2游戏的结构例图游戏的结构例图如图3.2所示:图3.2游戏的结构图例图3.3功能模块分析图游戏功能模块主体分析:3.3.1 游戏欢迎页面游戏欢迎页面主要是预加载游戏进行需要的图片、音乐等资源进行预加载。3.3.2 游戏主页面游戏主页面逻辑判断如图3.3所示。图3.3游戏主页面逻辑判断图道具使用逻辑图如下:图3.3道具使用逻辑图3.4游戏失败游戏失败逻辑图图3.4游戏失败逻辑图第4章 项目设计4.1 游戏架构设计由项目的需求分析可以清晰的对
14、本游戏的具体功能实现进行设计,如下图4.1是本游戏的总体架构设计。图4.1 游戏总体构架设计通过对游戏的需求进行分析和细致的归纳,可以认为游戏的主要内容是由游戏进行时和游戏失败两个主要部分所构成。游戏进行时包含了用户对主角的操作以及对主角信息(获得的分数及获取的道具)的管理,用户游戏结束的操作选择,游戏进行为本系统的设计核心。基于这些考虑,本游戏将对游戏进行时的事件作为一个重点的功能模块进行详细设计。第5章 项目实现前四章是对游戏的逻辑和功能上的设计,而游戏实现阶段就要依据之前的成果将抽象化设计转化为物理实现。5.1游戏总体实现游戏的模块结构是对游戏的进行一个总体划分,要真正的实现游戏,还需要
15、进一步的设计用户的功能。游戏的功能分为十类:游戏主场景、游戏欢迎页、游戏主角类、游戏敌机类、子弹类、游戏场景类、游戏结束场景类、管理类、道具类、触摸事件,针对每一个功能都实现了不同的作用。5.2各模块实现本文对货单管理模块、个人信息管理模块、系统信息管理模块中的功能具体实现过程进行论述。5.2.1功能的实现依赖项目创建的时候需要添加cocos2d-x的支持项,如图5.2.1,图5.2.1搭建好的工程在第一次创建项目的时候会自动把需要的外部依赖项添加到项目下,不需要手动额外添加。需要注意的是,在开始一个项目的时候,要把需要用到的图片资源以及音乐添加到项目目录下,否则在项目进行的过程中会报错。资源
16、文件尽量不要用中文命名,有时会出现字符编码的错误。5.2.2 游戏主欢迎页的实现用户在进去游戏的时候,会首先进入到欢迎页面(图5.2.2.1)。图5.2.2.1欢迎页是为了对资源,即图片资源和音乐资源进行预加载,图片资源和音乐资源相对较大,进入游戏后在加载比较慢,对游戏体验会造成一定影响,所以在欢迎页面进行预加载,进入游戏后可以享受较好的体验,不会因为加载资源而造成游戏卡的问题。加载资源代码如下:/加载音乐资源PreloadMusic();void WelcomeLayer:PreloadMusic()CocosDenshion:SimpleAudioEngine:sharedEngine()
17、-preloadBackgroundMusic(sound/game_music.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/bullet.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/enemy1_down.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/enemy2_down.mp3);CocosDe
18、nshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/enemy3_down.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/game_over.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/get_bomb.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect
19、(sound/get_double_laser.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/use_bomb.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/big_spaceship_flying.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/achievement.mp3);CocosDenshion
20、:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/out_porp.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-preloadEffect(sound/button.mp3);CocosDenshion:SimpleAudioEngine:sharedEngine()-playBackgroundMusic(sound/game_music.mp3,true);这是做一个检测,可以不添加,但是为了保证代码的健壮性要添加:bool bRet=false;doCC_BREAK_IF
21、(!CCLayer:init();、bRet=true; while (0);return bRet;5.2.3游戏主场景游戏主场景是为添加的精灵提供一个层,所有的精灵都是在这个层上进行添加。5.2.4游戏主角类创建游戏主角后,然他在进入游戏后闪烁三次,主角在进行飞行的时候让尾巴的烟火一长一短,显示正在飞行,这里是通过两个图片不断交替显示完成的。/创建 CCBlink 效果CCBlink *blink=CCBlink:create(1,3);/CCAnimation* animation=CCAnimation:create();/通过.png 和 .plist文件创建精灵表/animatio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 cocos2d 平台 游戏 设计 实现 本科 毕业设计
限制150内