问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

基于Cocos2D-X框架闯关游戏的设计(源码+万字报告+部署)

创作时间:
作者:
@小白创作中心

基于Cocos2D-X框架闯关游戏的设计(源码+万字报告+部署)

引用
CSDN
1.
https://m.blog.csdn.net/qq_40828705/article/details/144701553

本文是一篇关于基于Cocos2D-X框架开发闯关游戏的技术报告,内容涵盖了游戏开发的背景、技术选型、系统设计、实现细节以及最终成果。文章结构完整,从绪论到结论,层层递进,详细介绍了游戏开发的各个方面。

一、绪论

手机游戏,在过去一段较长的时间里,基本都是基于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、数据中心、游戏控制台、科学超级计算机、移动电话和互联网。

游戏的设计思路有以下几点:

(1)游戏分为几个相对独立的模板,但这些模板都进行集中式管理。

(2)分层的模板化程序设计思路,整个游戏采用模板化结构设计。作为应用程序有较强的靠操作性和扩展性。

(3)合理的数据流设计,在应用游戏设计中,相对独立的模板间以数据流相互连接,使各模板间的耦合性较低,方便游戏运行,提高游戏健壮性。

三、系统概要设计

(一)设计思路与原理

1、设计思路

(1)游戏分为几个相对独立的模板,但这些模板都进行集中式管理。

(2)分层的模板化程序设计思路,整个游戏采用模板化结构设计。作为应用程序有较强的靠操作性和扩展性。

(3)合理的数据流设计,在应用游戏设计中,相对独立的模板间以数据流相互连接,使各模板间的耦合性较低,方便游戏运行,提高游戏健壮性。

1、设计原理

为了是本游戏趣味性丰富,操作简单,最大限度的提高游戏的质量,从而让用户的体验到游戏的乐趣,在设计开发过程中遵循了如下原则:

(1)合法性原则:游戏道具和物体不会出现非物理现象。

(2)准确性原则:摆放道具位置相同时,不会出现多重结果。

(3)趣味性原则:完全按照策划来实现道具的功能和效果。

(4)易操作原则:要求设计的游戏界面友好,操作方便,必要的地方进行提示。

(5)可读性原则;为了便于其他设计,维护人员读懂代码或以后的代码修改,游戏升级维护,即尽可能地做好做好代码注释工作。

(6)优化性原则:为了达到优化的目的,采用面向对象的设计模式,是程序简单明了,也方便将来的维护。

(二)系统开发与选用

1、操作系统的选用

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号