《Cocos2d-x 3移动游戏编程》试读:1.1 介绍

本章将介绍Cocos2d-x的历史、使用现状及特征,并通过与Unity游戏引擎比较,分析各自优缺点。还要学习构建Cocos2d-x开发环境并创建新项目的方法。 1.1 介绍 本节介绍Cocos2d-x的历史、使用现状及特征。 1.1.1 历史 Cocos2d原本是用Python语言编写的游戏框架。2008年,Ricardo Quesada将Cocos2d移植到iOS上,形成了Cocos2d-iPhone版本,它是Cocos2d-x的基础。2011年初,Cocos2d-iPhone开发小组被美国社交游戏公司Zynga收购后, Cocos2d-iPhone版本的开发、发布、管理均由Zynga公司负责。 2010年7月,中国厦门的Team-X小组以Cocos2d-iPhone为基础进行移植开发,制作了Cocos2d-x的首个版本。Cocos2d-x目前由中国移动游戏开发公司触控科技负责开发、发布与管理。关于Cocos2d-x的更多内容,请访问Cocos2d-x的官方网站(http://cocos2d-x.org)。 图1-1 Cocos2d-x官方网站主页 1.1.2 使用现状 许多公司现在都使用Cocos2d-x开发游戏(Zynga、Glu、GREE、DeNA、Konami、TinyCo、Gamevil、HandyGames、人人游戏、4399、HappyElements、SDO、Kingsoft),它们制作的游戏在全世界的下载量突破了5亿次。特别是2D游戏,通常都用Cocos2d-x引擎开发。 2013年11月19日,Cocos2d-x研讨会在首尔举行。根据相关人士介绍,Cocos2d-x在中国的占有率约为70%,在全世界的占有率约为30%。韩国国内多款上市游戏都采用Cocos2d-x开发,比如Gamevil推出的《龙之焰》(Dragon Blaze)、CJ E&M的《翻滚吧!骰子》(Modoo Marble)、Devsisters的《饼干跑酷》(Cookie Run)、Fever Studio的《啾咪庄园》(Every Town)等。 图1-2 Gamevil推出的《龙之焰》(出处:Google Play Store) 图1-3 CJ E&M的《翻滚吧!骰子》(出处:Google Play Store) 图1-4 Devsisters的《饼干跑酷》(出处:Google Play Store) 图1-5 Fever Studio的《啾咪庄园》(出处:Google Play Store) 1.1.3 特征 Cocos2d-x官方网站列出其8大主要特征。 1. 多种开发语言与平台支持 Cocos2d-x的最大优势是,开发人员可以使用C++、Lua、JavaScript语言开发iOS、Android、Windows Phone、黑莓(Blackberry)、泰泽(Tizen)等多种平台上运行的游戏。此外,Cocos2d-JS是Cocos2d-x的JavaScript版本,融合了Cocos2d-HTML5和Cocos2d-x JSBinding,可以用于开发网页游戏或移动网页游戏。 2. 轻量快速 与其他游戏引擎相比,Cocos2d-x游戏引擎所占内存更小,且在移动2D游戏引擎中运行速度最快。因此,Cocos2d-x不仅用于游戏开发,还用于快速开发原型(Prototype)等。 3. 开源及免费开发 任何人都可以免费获取Cocos2d-x的所有源代码和文档,使用Cocos2d-x进行开发无需支付版权费。也就是说,开发人员可以免费使用以开发商业游戏。 4. 支持脚本语言 Cocos2d-x支持脚本语言,开发人员可以使用Lua、JavaScript等脚本语言开发游戏。此外,使用JavaScript也可以轻松制作基于网页的游戏。 5. 支持开发编辑器 Cocos2d-x提供对多种开发编辑器的支持,CocoStudio是基于Cocos2d-x的免费游戏开发工具,同时支持Windows与Mac。 6. 支持多种外部库与开发工具 Cocos2d-x中,可以很方便地使用外部库与插件,也支持使用多种开发工具的输出文件。 7. 可靠性与稳定性 全球上市移动游戏中,约30%的游戏采用Cocos2d-x开发,处于销售排行榜前端的许多游戏也是采用Cocos2d-x开发的。这有力地证明了Cocos2d-x引擎的可靠性和稳定性。 8. 多种交流活动 全球有众多游戏开发人员使用Cocos2d-x引擎,他们通过各种各样的交流活动相互交流学习,互相帮助,共同提高。 1.1.4 与Unity引擎之比较 目前,制作移动游戏时使用最多的游戏引擎有Cocos2d-x与Unity两种。二者比较结果如表1-1所示。 表1-1 Cocos2d-x与Unity之比较 Cocos2d-x Unity 开发语言 C++、JavaScript、Lua C#、JavaScript、Boo 支持平台 iOS、Android等大部分移动平台及PC平台 除移动平台、PC平台外,还支持Xbox、PS平台 价格 免费 专业版约1500美元;iOS、Android插件专业版分别约1500美元 2D功能 支持 从4.3版开始支持“精灵”等部分功能 3D功能 部分支持 支持 GUI 支持大部分GUI功能 部分支持,大部分以付费插件形式提供 移动平台编译 略难 容易 编辑器支持 支持CocoStudio等 完全支持 易用性 较低,未充分理解开发语言将很难使用 较高,即使不理解开发语言也很容易使用 表1-1列出了Cocos2d-x与Unity两个游戏引擎的优缺点,进一步整理如下。 Cocos2d-x的优点 Cocos2d-x最大的优点是免费,且支持开发人员使用C++语言开发。此外,还提供了制作2D游戏所需的大部分功能,是非常高效的游戏引擎。 Cocos2d-x的缺点 用户若不理解开发语言将难以使用,比如游戏策划、美工等非开发人员就无法直接使用。此外,它对编辑器的支持也不完善,因此,大部分实现需要查看游戏源代码。编译到移动平台时,需要用户对移动平台的原生语言有一定了解。 Unity的优点 Unity拥有非常强大的编辑工具,用户即使对开发语言不甚了解也能轻松使用。因此,游戏策划、美工等人员也能在合作开发游戏过程中产生非常高的效率。此外,使用Unity开发的游戏也能非常容易地编译到多种游戏平台,相当方便。 Unity的缺点 虽然Unity比其他游戏引擎的价格相对低廉,但是毕竟要收费,这会为某些开发人员带来一定负担。制作2D游戏时所需的很多功能Unity都没有提供,开发人员要使用这些功能就必须另外付费购买相应插件。 基于以上比较,制作3D移动游戏时选用Unity引擎最有效率,但制作2D游戏时究竟应该选用哪个游戏引擎,值得开发人员认真考虑。如果对C++等开发语言非常了解,且是单人开发或小规模开发团队,采用Cocos2d-x游戏引擎会比较好;相反,若对开发语言理解程度较低,且进行团队开发,有游戏策划、美工等众多人员参与,采用Unity引擎会更有效率。但是,仅从2D游戏的容量与性能看,采用Cocos2d-x引擎会比Unity引擎更有效。

>Cocos2d-x 3移动游戏编程

Cocos2d-x 3移动游戏编程
作者: [韩] 印孜健
isbn: 7115384363
书名: Cocos2d-x 3移动游戏编程
页数: 352
译者: 武传海
定价: 69.00元
出版社: 人民邮电出版社
装帧: 平装
出版年: 2015-3