开心消消乐游戏的设计开发与实现毕业论文.pdf
《开心消消乐游戏的设计开发与实现毕业论文.pdf》由会员分享,可在线阅读,更多相关《开心消消乐游戏的设计开发与实现毕业论文.pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要本设计主要是基于C+开发的开心消消乐游戏设计开发与实现,包括其中很多核心内容原理的思路与解析,该游戏较于世面上的同类 型游戏的话,更加的简单,然后内容也更加的充满趣味性,而且由于 我们是使用Cocos2d-x这款引擎编写的,Cocos2d-x是MIT许可证下 发布的一款功能强大的开源游戏引擎,他允许开发人员使用C+、JavaScript及Lua三种语言来进行游戏开发。这款引擎支持所有的常 见平台发布与打包。关键词:C+;Cocos2d-X;开心消消乐游戏This document is produced by trial version of Print2Flash.Visit for m
2、ore information目录引言.1一系统开发主要技术.21.1 C+简介.21.2 Cocos 2d x 弓擎.2二游戏需求分析架构设计.32.1游戏要求.32.2游戏功能.32.3运行环境.3三游戏详细设计.43.1游戏框架设计.43.2登陆界面设计.53.3游戏内容设计.73.4游戏其它功能的实现.9四系统实现.124.1登陆界面.124.2游戏界面.134.3游戏胜负界面.13五系统测试.155.1代码检测.15This document is produced by trial version of Print2Flash.Visit for more information5
3、.2游戏测试.155.3用户体验测试.15六总结.17致谢.18参考文献.19This document is produced by trial version of Print2Flash.Visit for more information引言在科技日益发展的今日,智能手机已经成为了我们生活中必不可 少的一部分,无论是上班,休息。我们都会时时刻刻离不开手机,而 且伴随着手机的性能越来越好,手机游戏也成了当下一个非常热门的 一个赚钱项目。手机游戏他不但有着十分广阔的发展前景和市场。而 且还隐藏着无穷潜力等待着我们这辈人去探索。而手机游戏又分为单 机游戏跟网络游戏这两大类别,而其中无疑网络游
4、戏蕴含的商机更为 巨大,因为是网络游戏则可以推出更多的社交性的,带有趣味性的产 品与id eao但是单机游戏也是我们无法忽视的一个大蛋糕,而且单机 游戏的门槛更低,所以这些年来,致力于开发手机单机游戏的互联网 公司如雨后春笋一般连绵不断,正是证明单机游戏这个蛋糕的巨大和 他无穷无尽的潜力。而网络游戏开发相较于单机游戏开发门槛无疑拔 高了一个档次,因为你不但要开发这款游戏,你还要具备强大的物力 以及人力去宣传,维护,及时的更新更多新的内容来留住客户。但即 便如此,还是有很多很多人投向了手游的海洋,这也正是证明了在中 国这个全球最大的通信市场,手游拥有着无穷无尽的商机。This document
5、is produced by trial version of Print2Flash.Visit for more information一系统开发主要技术1.1 C+简介简介1.1.1C+的概念C+是一种使用起来十分广泛的计算机编程语言。C+是一种静态 数据类型检查的,支持多重编程范式的通用程序设计语言,他支持过 程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程 序设计等多种程序设计风格。1.2 Cocos2d-x 引擎引擎这次游戏的制作我们会使用到Cocos2d-X这款引擎,因为这款引 擎拥有完善的游戏功能支持,包含精灵、动作、动画、粒子特效、场 景转换、事件、文件10、数据
6、持久化、骨骼动画等等非常优秀的功能。同时他还可以在PC端进行游戏的测试,然后再发布到移动端,这样 大大减少了游戏开发时间。This document is produced by trial version of Print2Flash.Visit for more information二游戏需求分析架构设计2.1游戏要求游戏要求1.游戏能满足人们在任何时候任何地点都能随时上手,并且整个 游戏是不产生任何消费。2.游戏采用分模块编写方式,这样可以很快捷的更改游戏内容及 某一特定功能,以及以后的发布的活动都只需要更改相应模块的代 码。2.2游戏功能游戏功能软件主要实现了:关卡选择功能、单人游戏
7、功能、三消算法逻辑 等。2.3运行环境运行环境硬件接口:支持所有常见平台。并且能够包容市面上常见的机型 运行,不存在造成任何游戏卡顿等现象。This document is produced by trial version of Print2Flash.Visit for more information三游戏详细设计3.1游戏框架设计游戏框架设计3.1.1编写游戏框架使用Cocos新建一个项目,然后我们将项目名字命名为Happy eliminate,引擎类型修改为预编译库,这样可以减少内存的负担,项 目语言我们选择C+,如下图3-1所示,最后我们点击完成就可以了。图3-13-1创建Happ
8、y eliminateHappy eliminate的向导界面1 1然后再在Cocos Stud io的主菜单中,选择项目主菜单,点击发布 与打包。这样我们一个新的Cocos项目就创建好了。然后我们使用 Cocos打开我们新创建的项目。找到AppDelegate.cpp文件,修改好我 们需要的屏幕尺寸,因为消消乐是一款竖屏风格的益智小游戏,所以 我给他设置的界面尺寸是960X680,这也是现阶段主流的屏幕尺寸大This document is produced by trial version of Print2Flash.Visit for more infbnnation 小。3.1.2搭
9、建游戏主要框架这款游戏在我的设计里我给它设计了四个场景,开始游戏场景,选择关卡场景,游戏场景,胜负结算场景。接下来就是四个场景的搭 建,我们需要找到$rc文件夹,然后创建三个Cpp,因为我准备把选 择关卡放在层上添加到我们的游戏场景里面,所以这里我们不必要再 重新创建一个新的场景来加载我们的选择关卡。效果如下图3-2所示。A-引用A 眉1 resou rrcmPP曰a曰曰 mmJeJeooE-teN 苔苔苔苔苔苔J2n图3-23-2搭建游戏主要框架3.2登陆界面设计登陆界面设计框架搭建好了,现在我们需要来实现我们每个场景里面的功能与 图片的摆放。首先我们要获取到整个界面的大小。这一点我们可以通
10、This document is produced by trial version of Print2Flash.Visit for more infbnnation 过Director导演来获取到当前界面getVisibeSize();当我们获取到他的Size之后就可以开始我们界面搭建了,首先我 们要创建一个Sprite类的一个图片当作背景。我们首先将这个精灵的 AnchorPoint锚点位置设置为中心,然后我们就可以开始设置他的 Position坐标了,因为我们前面已经知道了这个界面的wid th宽和 height高了,我们就可以直接把他的X跟Y的坐标设置成wid th和 height的
11、一半,也就是当前界面的正中心位置。背景创建好了之后我们就要来创建背景上面的Button按钮及 LOGO的摆放。Cocos2d-X里面Button的创建需要传递两张图片,一 张代表点击前的状态,一张是点击后的状态。如果你只传了一个图片 的话,他的点击状态都会默认为是这个不会改变。我们需要在开始界 面创建两个Button精灵,一个代表开始游戏BtStart,一个代表结束 游戏BtEnd o当我们需要的两个按钮创建好了之后。我们就需要往这 两个按钮上面添加一个点击事件方法了。Cocos2d里面的按钮点击事 件是ad d ClickEventListener方法。在开始游戏按钮的点击事件里 面,我们需
12、要给它添加上一个点击音效和一个跳转场景的方法。当我 们点击开始游戏按钮之后,界面直接跳转到我们的选择关卡模块,之 前的场景也会在内存池中自动释放掉。然后我们在结束按钮里面也同 样的,先添加一个点击的音效,然后我们给他添加一个方法,当我们 点击到结束按钮之后,我们的程序将会自动退出。同时会删除所有本 地资源。This document is produced by trial version of Print2Flash.Visit for more information3.3游戏内容设计游戏内容设计3.3.1消除的几种类型作为一个传统的三消类游戏,消除的类型基本上分为横竖三消,横竖四消,横竖
13、五消。再扩展一下的话,我们也可以做一些更加具有 趣味性的消除类型,例如当你出现消除五个同样的动物头像时候,我 们可以在消除的位置上生成一个万能动物头像,这个万能动物头像可 以与所有类型的动物头像相匹配,当使用万能动物头像消除成功的时 候,我们会把当前列或者是行上的所有动物头像全部消除。这样设计 可以使得这个游戏更加充满趣味性。3.3.2精灵的随机生成当我们的界面基本搭建完成之后我们就要开始着手实现我们游 戏里面的功能了。首先我们要实现精灵的随机生成。实现精灵随机生 成这个模块我们就要用到C+里面的随机数Rand方法了。他的区间 在0-0.99之间,我们首先使用随机数随机出来一个1-6中间的数来
14、代 表我们这个精灵的Type类型。不过在游戏区域创建之前,我们还需 要创建一个数组来存放我们的精灵种类以及自身的坐标,因为后面我 们的消除判断需要用到这些东西,然后我们就可以在我们的游戏区域 里面创建这些精灵了。这一步的实现我们只需要用到两个for循环去 排列就可以很轻松的实现出来。3.3.3交换精灵位置以及交换数组位置如果我们要交换精灵的位置,首先的一点我们要获取到两个精灵 各自的坐标,这一点我们可以用到触摸监听事件来获取到两个精灵各This document is produced by trial version of Print2Flash.Visit for more informa
15、tion 自的坐标,后面会详细讲到怎么去获取两个精灵的坐标。当我们获取 到两个精灵的坐标时,我们就可以很轻松的交换他们俩个的坐标就可 以了。这样我们交换精灵位置的方法就写好了,只需要在后面调用这 个方法就能够很轻松的执行交换两个坐标的方法了。因为我们创建这 个精灵列组的时候,我们还创建了一个一维数组,所以当我们交换了 他们两个精灵的位置的时候,我们还需要在我们的一维数组之中也对 他们两的位置进行交换,这样我们后面需要调用这个一维数组索引时 候才不会发生位置不对的情况。3.3.4遍历移除数组并删除首先我们先要定义一个nod e节点,因为我们需要用到这个nod e 节点来遍历数组里面所有的指针,然
16、后再来进行我们的移除操作,当 我们要开始移除的时候,首先我们需要对我们这个数组进行遍历,从 第X行遍历到第八行,在遍历里面首先我们要获取到当前要删除的精 灵在数组上面的位置,以及我们还要获取到当前要删除精灵上一行的 那一个精灵的位置。然后我们将第二个精灵的节点移动到我们的 nod e节点位置上,再把我们要删除的精灵节点网上移动80PX像素,最后再把他们在数组里面的位置进行一个交换的操作就好了。我们的 删除方法就可以删除当前数组里面任何的一个位置上的节点。3.3.5消除的判断以及删除因为我们所有动物头像全部是生成在一个数组里,在这个数组里 我们记录了他们的所有位置坐标,以及他们的类型,这个时候我
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 开心 消消 游戏 设计 开发 实现 毕业论文
限制150内