基于cocos2dx的跨平台手机游戏开发终极相连游戏
摘 要
本文介绍了利用C ++语言,在Cocos2d-x游戏引擎平台上,设计出可以植入安卓手机的游戏。本游戏属于小球消除类游戏,主要功能实现的是相同颜色小球消除的游戏体验。
与国外的手机游戏相比,国内产品的质量有待提高。随着用户群的逐渐扩大,现在消磨时间的用户在逐渐增多,我们更应该深度挖掘用户喜欢的游戏类型。娱乐性强、易于操作、耗时短或分阶段的手机游戏是被用户接受的基础。例如喜欢棋牌和休闲游戏的用户会越来越多、女性玩家越来越多,但适合她们的游戏种类并没有增多。类似的游戏,特别是能让用户时断时续的黏性青睐,开发起来难度不小。
其次终端仍是瓶颈,适配问题影响手机游戏的客户体验。当前终端的多样性阻碍了手机游戏的移植,终端性能不高降低了
用户体验与使用需求,成为阻碍手机游戏业务发展的主要障碍。而Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台。Cocos2d-x提供的框架外,手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行iOS,Android的三星Bada,黑莓Blackberry操作系统和更多。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,我们可以编写的源代码很容易在桌面操作系统中编辑和调试。
查看完整论文请+Q: 351916072
关键字:】cocos2d-xbox2D手机游戏C++安卓系统
目 录
摘要 I
ABSTRACT II
第1章 绪论 1
1.1 手机游戏概述 1
1.1.1 手机游戏产业发展现状 1
1.1.2 手机游戏开发的特点 2
1.1.3 手机游戏的优势 3
1.1.4 手机设备的局限 3
1.2 游戏开发工具 5
1.2.1 Cocos2d-x介绍 5
1.2.2 Box2D介绍 6
1.3 开发环境 8
1.3.1 开发环境搭建 8
1.3.2 ECLIPSE和ECLIPSEME插件 9
1.3.3 C++语言特征 9
第2章 游戏设计框架 11
2.1 游戏设计要求 11
2.2 游戏设计方案 12
2.3 游戏结构图 12
第3章 游戏模块设计 14
3.1 基本功能 14
3.1.1 创立世界 14
3.1.2 创建地面盒 14
3.1.3 小球的创建和下落 15
3.1.4 模拟Box2D的世界 16
3.2 游戏主体功能 17
3.2.1 点击小球的回调函数 17
3.2.2 小球检查和容器使用 19
3.2.3 道具实现 21
3.2.4 得分计算 24
3.2.5 小球的消除 26
3.3 游戏辅助功能 26
3.3.1 游戏效果渲染 26
3.3.2 游戏暂停和时间结束菜单 31
3.3.3 场景之间的切换 34
3.3.4 音乐音效控制以及用户数据的保存 36
3.3.5 其他功能 40
第4章 程序生成APK文件 43
4.1 APK文档 43
4.2 windows 7 android环境搭建 43
4.3 创建Android工程和编译 44
第5章 总结和展望 47
参考文献 48
致谢 49
附录 50
第1章 绪论
1.1 手机游戏概述
顾名思义,手机游戏就是可以在手机上进行的游戏。随着科技的发展,现在手机的功能也越来越多,越来越强大。而手机游戏也远远不是我们印象中的《俄罗斯方块》和《贪吃蛇》之类规则简单的游戏,如今手机游戏的规则越来越复杂,画面越来越精美,娱乐性和交互性也越来越强。
1.1.1 手机游戏产业发展现状
近年来,我国手机游戏市场尤其是手机网络游戏发展迅猛。据统计,早在2008年中国手机游戏市场营收规模就已达到13亿元;随着2009年3G牌照的发放以及3G技术的推广,预计2009至2010年中国手机游戏市场规模将达到42亿元,同比增长约38.5%。手机游戏的发展已经成为整个游戏产业的新亮点,手机有望成为一个集通信和娱乐于一身的娱乐终端,未来的发展势头将会十分惊人。
随着全球3G商用的步伐的不断加快,无线娱乐业务成为无线增值业务中最被看好的市场增长点。作为手机娱乐服务的重要内容之一,近几年来,手机游戏业务全面崛起。特别是在日本和韩国,手机游戏业务对移动运营商业绩的提升发挥了十分重要的作用。目前,全球手机游戏的市场规模已经超过了手机音乐,成为名副其实的“无线娱乐产业之王”。近年来在世界范围内,手机游戏已经成为整个视频游戏领域发展速度最快的部分。现在,无论是在地铁里,还是机场的候机大厅,经常可以看到很多人在不停按手机键盘玩手机游戏来打发时间,手机网游也在掌上一族中日益流行,渐渐已经没有人会怀疑它拥有的巨大市场潜力了。
目前,手机游戏产业链的构成主要包括移动运营商、CP(游戏开发商)、SP(游戏发行商)、游戏平台开发商、终端制造商、游戏分销商以及用户。手机游戏从开发到为用户提供服务,需要产业链上各方的参与。游戏平台开发商基于J2ME(Java2 Micro Edition)及BREW等技术平台向移动运营商、手机游戏开发商和终端制造商提供移动游戏平台或SDK(Software Developer Kit),手机游戏开发商将自主开发的手机游戏提供给移动游戏提供商或移动运营商,或者将开发的游戏直接嵌入到终端制造商制造的终端中。
从业务与盈利模式上来看,手机游戏厂商参照目前的免费网游模式,用手机网游代收费接口取代现行的下载收费模式,有可能成为手机游戏市场未来的一种主流盈利模式。这意味着,手机网游能和PC网络游戏一样,实现按时扣点的收费模式。收费模式的变化将会在很大程度上改变整个手机网络游戏产业的现状。
1.1.2 手机游戏开发的特点
手机游戏是基于手机设备进行开发的游戏。它与通常所说的PC游戏有很大不同,主要表现在以下几点。
· 开发预算少
传统的PC游戏,尤其是中型或大型游戏项目,开发预算常常会高达数百万元以上。而手机游戏的开发预算一般只需数万元经费。造成这种差异的主要原因是手机设备本身有限的运算速度和显示能力,以及对应用程序大小的限制。
· 开发周期短
PC游戏的开发周期一般要1~3年,而大部分手机游戏项目仅仅在几个月内就能够完成。因此,一个小型的开发团队和一个较小的预算,就完全可能在比较短的时间内开发出一个具有相当水准的手机游戏。
· 开发团队小
传统大中型PC游戏项目的开发团队至少要由10到30人组成,而手机游戏由于规模小,所以一般只需要3到5人的团队开发,有些规模特别小的项目甚至仅需要一个人就可完成。
· 游戏的部署方法不同
PC游戏主要是通过软件市场来销售,而手机游戏用户主要是从移动的门户网站上下载并安装,还可以通过无线网络下载,或者通过数据线、红外及蓝牙等接口从PC上传送到手机中。
· 可中断性
当用户有电话接入时,手机都会中断进行中的游戏。游戏程序必须能够暂停,而且不会造成游戏问题(例如,游戏者在打电话的时候怪物还在移动,打死玩家扮演的角色,导致输掉游戏),并且还要能够继续进行游戏。这需要在编程的时候多注意。
1.1.3 手机游戏的优势
手机设备在游戏开发上与传统游戏终端相比,有以下几点优势。
· 庞大的潜在用户群
据工信部统计显示,中国现有手机用户已达到7亿,而通过手机上网的用户数量已超过1.55亿。目前,中国手机游戏活跃用户数达2319万户,收入增长率仍然保持超过100%的增长速度。
· 便携性
虽然现在的手机平台跟PC相比还不是一个出色的游戏平台,但是它具备了几乎所有其他设备没有的优势:便携性。因为生活和工作的需要,大部分手机用户会把它们随时带在身边,这就使手机用户能够随时随地使用手机进行游戏。
· 支持网络
手机游戏天生就有支持网络的能力,这种能力使得手机游戏与我们之前看到的任何游戏不同,它虽然受到设备因素的限制,但是都可以支持网络并实现多人游戏,尽管现在手机的处理能力仍然非常有限,但其出色的网络性能是与生俱来的。
1.1.4 手机设备的局限
虽然手机游戏有其特有的优点,但是也有不少缺憾。
· 屏幕大小
手机设备使用的是小型屏幕,手机屏幕的大小各不相同,从80×30到320×240,虽然屏幕的分辨率持续提高,并且彩屏越来越普遍,但是屏幕尺寸还是很小。分辨率的高低直接导致了游戏中各种角色造型的大小及表现力。
· 有限的色彩数量、明亮度和声音支持
手机颜色数量是限制游戏美工发挥的一个重要“瓶颈”,手机屏从过去的黑白屏到现在的彩屏,颜色从4096色到26万色,有了很大改善。但在实际的手机游戏开发中,有些手机还是不能区分某些颜色。由于液晶屏幕独特的发光原理,屏幕的亮度也比不上传统显示器,色偏现象也比较严重。手机上都有声音设备,但是播放声音的能力却非常有限,通常只有一个声道可用。
· 电力限制
众所周知,手机的电力是比较有限的,目前使用高像素高亮度液晶屏的手机越来越多,这样手机的耗电量会更大。因此对于手机游戏而言,要做到尽可能节省玩家的电池,可以通过减少屏幕的平均亮度,调整关卡等方法,把游戏时间控制在一定范围内来实现。
· 内存空间的限制
目前市面上的手机产品,大部分只有很少的内存空间,因此手机设备本身就对手机游戏程序的大小有所限制。在这样的限制条件下设计开发手机游戏是非常困难的,通常要求游戏程序和相关资源控制在300KB以下。
· 显示速度的限制
PC游戏的动画帧数一般在30帧/秒,由于硬件条件的限制,手机游戏的动画帧数一般还达不到10帧/秒,这样就不能显示流畅的动画,对于手机游戏开发者而言这也是一个考验。
· 网络响应速度的限制
在有线网络上,网络响应速度是以毫秒计算的,而在无线网络上则要以秒计算,这样的速度对运行网络游戏来说实在是太慢了。移动运营商虽然在努力提高移动电话可用的带宽,但是网络等待时间一直没有得到很好地解决。不过现在使用蓝牙技术或其他无线局域网的手机,网络响应时间在200~400ms,这样具有这种技术的手机就可以和附近的移动用户一起玩多人快速动作游戏了。幸运的是,随着3G商用的形势逐渐明朗化,在3G网络平台上,手机网络游戏的交互功能和网络稳定性将完全可以做到现有PC网络游戏的水平。
1.2 游戏开发工具
1.2.1 Cocos2d-x介绍
Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,使用 C++ 开发,基于OpenGL ES,基于Cocos2d-iphone,支持 WOPhone, iOS 4.1, Android 2.1 及更高版本, WindowsXP & Windows7,WindowsPhone 8.
什么是“x”?cocos2d-x方式:有时候,我们写的cpp文件扩展CXX。“x”,标志着该项目是由C++中,并提供C++中的API编写的。“x”,也意味着交叉。这个开源项目的目标是让用户创建跨平台的代码。目前支持的平台是在iOS,Android的,WinPhone,Win32平台上,但可根据要求提供更多的平台。
图1.1 Cocos2d-x 框架结构
主要功能:
· 流程控制(Flow control)
非常容易地管理不同场景(scenes)之间的流程控制。
· 精灵(Sprites)
快速而方便的精灵。
· 动作(Actions)
可组合的动作如移动(move)、旋转(rotate)和缩放(scale)等更多。
· 特效(Effects)
特效包括波浪(waves)、旋转(twirl)和透镜(lens)等更多。
· 平面地图(Tiled Maps)
支持包括矩形和六边形平面地图。
· 转换(Transitions)
从一个场景移动到另外一个不同风格的场景。
· 菜单(Menus)
创建内部菜单。
· 文本渲染(Text Rendering)
支持标签和HTML标签动作。
图1.2 Cocos2d-x的基础概念
1.2.2 Box2D介绍
Box2D是个二维刚体仿真库, 用于编写游戏。程序员可以使用它, 让游戏中的物体运动起来更真实, 让游戏世界更具交互性。以游戏的角度来看,物理引擎只是个程序性动画系统(procedural animation)。
Box2D用可移植的C++来写成,它定义的大部分类型都有b2前缀, 希望这能有效消除Box2D和你自己的游戏引擎之间的名字冲突。它已被用于蜡笔物理学
原文链接:http://www.jxszl.com/dzxx/txgc/1524.html
最新推荐
热门阅读