cocos2dx的跨平台游戏设计与实现
摘 要摘 要随着近年来Android和IOS移动操作系统快速发展,移动终端进入了智能化时代。在智能化时代,用户对手机的需求已经不仅仅局限于单一的通信功能,对娱乐功能的需求也是日益扩大。手机游戏成为了移动娱乐的主要形式,同时智能终端提供了一个可靠的软硬件平台,手机游戏迎来了爆炸式发展。参照PC互联网的发展过程,手机游戏必然会掀起了游戏行业的革命。一款火爆的游戏的出现,会给市场带来巨大的冲击。无论是像Rovio的愤怒的小鸟,PopCap的植物大战僵尸这类的大作,还是像flappy bird,2048这类小游戏都可以取得很大的成功。由于目前手机终端的型号众多,系统版本不统一,导致手机游戏需要开发多个版本,无形中增大开发成本及开发难度,成为了手机游戏发展的一大瓶颈。智能终端机型繁多和系统碎片化问题是手机游戏开发中亟待解决的重点。本文将从手机游戏开发的技术角度出发,深入研究手机游戏开发的全过程。面对多样化的目标平台,基于Cocos2dx的技术设计并实现一款跨平台的手机游戏。实现一套代码可多终端多系统运行,并且提供一致的用户体验。将不同系统底层绘图接口再次封装,提供一致性绘图接口,从而实现手机游戏跨平台的这一思路做可行性尝试。关键字:移动互联网,智能终端,手机游戏,跨平台开发Keywords: Mobile Internet, smart terminals, mobile games, cross platform目录
第一章 绪论 1
1.1研究背景及意义 1
1.2国内外研究现状 2
1.3 本文主要研究内容 3
第二章 课题相关技术 5
2.1 Cocos2dx应用开发框架 5
2.1.1 Cocos2dx框架概述 5
2.1.2 Coco2dx游戏引擎 7
2.1.3 物理引擎 8
2.1.4 用户事件 9
2.2 Cocos2djs 9
2.3 集成开发工具Cocos Code IDE 10
2.4 Javascript运行环境Node.js 11
2.5 非关系型数据库MongoDB 11
第三章 需求分析与详细设计 13
3.
*好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^*
7
2.1.3 物理引擎 8
2.1.4 用户事件 9
2.2 Cocos2djs 9
2.3 集成开发工具Cocos Code IDE 10
2.4 Javascript运行环境Node.js 11
2.5 非关系型数据库MongoDB 11
第三章 需求分析与详细设计 13
3.1可行性分析 13
3.2功能需求分析 13
3.2.1总体分析 13
3.2.2 功能分析 14
3.3系统其他需求 14
3.4系统设计原则 14
3.4.1 规范性原则 14
3.4.2 拓展性原则 15
3.4.3 实用性原则 15
3.5 系统架构设计 15
第四章 系统实现 17
4.1 游戏开发环境 17
4.2 资源图片处理 17
4.3 游戏中网络请求处理 18
4.4 游戏中的声音处理 19
4.5 游戏中的人物与背景 20
4.6 chipmunk物理引擎 21
4.7 用户事件处理 22
4.8 游戏循环与调度 22
4.9 游戏登录注册的实现 23
4.10 游戏的部署 24
第五章 系统测试 25
5.1 系统测试定义 25
5.2 系统测试的原则 25
5.3 游戏测试 26
5.3.1 需求测试 26
5.3.2 内容测试 26
5.3.3 性能测试 27
结论 28
致谢 30
参考文献 31
第一章 绪论
1.1研究背景及意义
步入移动互联网时代,手机以及平板类的智能终端使用的越来越来频繁,智能终端与人们的生活越来越密不可分。在移动电子商务,移动社交,移动电子阅读,移动搜索,手机游戏和移动广告等六个方面,智能终端经过近几年的发展已经相对成熟。移动电子商务,移动社交已经发展的如火如荼,移动搜索也是竞争非常激烈。然而随着生活质量的不断提升,娱乐休闲的需求也在不停的扩大。智能终端的进一步发展,给游戏行业引入了一个全新的舞台—手机游戏。
智能手机拥有庞大的用户的基础,智能手机便携性和移动网络支持的优势,加上智能终端提供的硬件平台,使得手机游戏的表现上已经超过了GameBoy等掌上游戏机,具有了很强的娱乐性和交互性。目前手机游戏早已不是俄罗斯方块这类像素游戏,题材丰富,操作新颖的手机游戏获得了人们的青睐。植物大战僵尸,愤怒的小鸟,捕鱼达人等游戏引起了手机游戏的浪潮,得到一片好评。同时,这些游戏也带了丰厚的利润,不仅仅是手机游戏内的用户付费,还有游戏带来的相关周边产业带来的利润,愤怒的小鸟的玩具和主题等等。丰厚的利润吸引了众多厂商的注意力,纷纷投入了手机游戏的研发中。
分析手机游戏行业的发展,发现运营推广的成本过高,多平台游戏开发复杂度大成为了两大主要问题。通过社交软件平台进行游戏推广是主要推广方法,而目腾讯依托QQ庞大的用户数量在市场上占有了大量份额,平台推广费也是居高不下。
市场上目前主流的手机操作系统Android和IOS,在开发游戏过程中,需要对这个尽可能兼容两个操作系统,提高代码的复用性,降低开发难度。本论文深入了解开发过程中多平台的兼容性和用户体验的问题。针对该问题,采用了cocos2dx框架,设计并实现一款跨平台的游戏。了解此类基于底层绘图接口二次封装的设计方案在解决跨平台游戏开发的问题上的可行性和效能。
1.2国内外研究现状
国内外手机游戏技术上,基本没有差距。国内外同样都面临着跨平台多次开发的问题,多平台不仅是开发的难度较大工作量较大,而且后期维护以及升级的成本也较高。同时由于Android和IOS使用的应用是不同语言开发的,在人力投入上也要相对增加。这样的条件下,迫切需要进行跨平台开发,一套代码在两个平台上都可以运行,只要对两个平台进行分别打包就可以发布,从而大大的降低开发以及运维的难度。
跨平台的解决方案可以分为三种,第一种最简单的就是使用类似于Sencha Touch和jQuery Mobile的Mobile Web框架,就是以web的形式来开发App,最简单直接而且入门门槛较低。但是因为浏览器的诸多权限问题,例如拍照,读取通讯录等相关功不能使用,导致Mobile Web只能用来开发一些简单的需求,面对企业级应用开发还是力不从心。第二种以PhoneGap为首的Hybrid App框架,提供了一个框架可以将web直接打包成App,内部还提供了JavaScript API,可以使用API来调用设备功能,从而可以让App获得一个完整的功能。但是由于Hybrid App也是主体也是使用的web,应用显示的部门还是需要浏览器的渲染,所以在应用的整体功能和流畅度上还是比不上Native App。第三种就是跨平台Native App,这类框架可以让开发者使用他们熟悉的语言进行app的开发,例如C#、Lua,然后打包发布的时候将程序转换成Native App。在应用的流畅度和功能上,跨平台Native App和原生的Native App已经没有多大的差距。
在游戏开发过程中,由于游戏对性能的要求比较高,游戏过程中需要大量的绘图,一般都是使用C/
第一章 绪论 1
1.1研究背景及意义 1
1.2国内外研究现状 2
1.3 本文主要研究内容 3
第二章 课题相关技术 5
2.1 Cocos2dx应用开发框架 5
2.1.1 Cocos2dx框架概述 5
2.1.2 Coco2dx游戏引擎 7
2.1.3 物理引擎 8
2.1.4 用户事件 9
2.2 Cocos2djs 9
2.3 集成开发工具Cocos Code IDE 10
2.4 Javascript运行环境Node.js 11
2.5 非关系型数据库MongoDB 11
第三章 需求分析与详细设计 13
3.
*好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^*
7
2.1.3 物理引擎 8
2.1.4 用户事件 9
2.2 Cocos2djs 9
2.3 集成开发工具Cocos Code IDE 10
2.4 Javascript运行环境Node.js 11
2.5 非关系型数据库MongoDB 11
第三章 需求分析与详细设计 13
3.1可行性分析 13
3.2功能需求分析 13
3.2.1总体分析 13
3.2.2 功能分析 14
3.3系统其他需求 14
3.4系统设计原则 14
3.4.1 规范性原则 14
3.4.2 拓展性原则 15
3.4.3 实用性原则 15
3.5 系统架构设计 15
第四章 系统实现 17
4.1 游戏开发环境 17
4.2 资源图片处理 17
4.3 游戏中网络请求处理 18
4.4 游戏中的声音处理 19
4.5 游戏中的人物与背景 20
4.6 chipmunk物理引擎 21
4.7 用户事件处理 22
4.8 游戏循环与调度 22
4.9 游戏登录注册的实现 23
4.10 游戏的部署 24
第五章 系统测试 25
5.1 系统测试定义 25
5.2 系统测试的原则 25
5.3 游戏测试 26
5.3.1 需求测试 26
5.3.2 内容测试 26
5.3.3 性能测试 27
结论 28
致谢 30
参考文献 31
第一章 绪论
1.1研究背景及意义
步入移动互联网时代,手机以及平板类的智能终端使用的越来越来频繁,智能终端与人们的生活越来越密不可分。在移动电子商务,移动社交,移动电子阅读,移动搜索,手机游戏和移动广告等六个方面,智能终端经过近几年的发展已经相对成熟。移动电子商务,移动社交已经发展的如火如荼,移动搜索也是竞争非常激烈。然而随着生活质量的不断提升,娱乐休闲的需求也在不停的扩大。智能终端的进一步发展,给游戏行业引入了一个全新的舞台—手机游戏。
智能手机拥有庞大的用户的基础,智能手机便携性和移动网络支持的优势,加上智能终端提供的硬件平台,使得手机游戏的表现上已经超过了GameBoy等掌上游戏机,具有了很强的娱乐性和交互性。目前手机游戏早已不是俄罗斯方块这类像素游戏,题材丰富,操作新颖的手机游戏获得了人们的青睐。植物大战僵尸,愤怒的小鸟,捕鱼达人等游戏引起了手机游戏的浪潮,得到一片好评。同时,这些游戏也带了丰厚的利润,不仅仅是手机游戏内的用户付费,还有游戏带来的相关周边产业带来的利润,愤怒的小鸟的玩具和主题等等。丰厚的利润吸引了众多厂商的注意力,纷纷投入了手机游戏的研发中。
分析手机游戏行业的发展,发现运营推广的成本过高,多平台游戏开发复杂度大成为了两大主要问题。通过社交软件平台进行游戏推广是主要推广方法,而目腾讯依托QQ庞大的用户数量在市场上占有了大量份额,平台推广费也是居高不下。
市场上目前主流的手机操作系统Android和IOS,在开发游戏过程中,需要对这个尽可能兼容两个操作系统,提高代码的复用性,降低开发难度。本论文深入了解开发过程中多平台的兼容性和用户体验的问题。针对该问题,采用了cocos2dx框架,设计并实现一款跨平台的游戏。了解此类基于底层绘图接口二次封装的设计方案在解决跨平台游戏开发的问题上的可行性和效能。
1.2国内外研究现状
国内外手机游戏技术上,基本没有差距。国内外同样都面临着跨平台多次开发的问题,多平台不仅是开发的难度较大工作量较大,而且后期维护以及升级的成本也较高。同时由于Android和IOS使用的应用是不同语言开发的,在人力投入上也要相对增加。这样的条件下,迫切需要进行跨平台开发,一套代码在两个平台上都可以运行,只要对两个平台进行分别打包就可以发布,从而大大的降低开发以及运维的难度。
跨平台的解决方案可以分为三种,第一种最简单的就是使用类似于Sencha Touch和jQuery Mobile的Mobile Web框架,就是以web的形式来开发App,最简单直接而且入门门槛较低。但是因为浏览器的诸多权限问题,例如拍照,读取通讯录等相关功不能使用,导致Mobile Web只能用来开发一些简单的需求,面对企业级应用开发还是力不从心。第二种以PhoneGap为首的Hybrid App框架,提供了一个框架可以将web直接打包成App,内部还提供了JavaScript API,可以使用API来调用设备功能,从而可以让App获得一个完整的功能。但是由于Hybrid App也是主体也是使用的web,应用显示的部门还是需要浏览器的渲染,所以在应用的整体功能和流畅度上还是比不上Native App。第三种就是跨平台Native App,这类框架可以让开发者使用他们熟悉的语言进行app的开发,例如C#、Lua,然后打包发布的时候将程序转换成Native App。在应用的流畅度和功能上,跨平台Native App和原生的Native App已经没有多大的差距。
在游戏开发过程中,由于游戏对性能的要求比较高,游戏过程中需要大量的绘图,一般都是使用C/
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/qrs/122.html