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 类 型 开源的移动2D游戏框架 发展重点 跨平台 支持平台 iOS,Android等
基本介绍编辑
Cocos2d-x是MIT许可证下发布的开源游戏引擎,游戏开发快速、简易、功能强大。2015年2月,触控科技正式推出了游戏开发一站式解决方案cocos,将Cocos 2d-x、Cocos Studio、Cocos Code IDE等框架及工具整合在一起。[1]
Cocos2d-x核心优势在于允许开发人员利用C++、Lua及Javascript来进行跨平台部署,覆盖平台包括iOS、Android、Windows Phone、Windows, Mac OSX 3及Tizen等等,省事省力省成本。[2]
Cocos2d-x用户不仅包括个人开发者和游戏开发爱好者,还包括许多知名大公司如Zynga、Wooga、Gamevil、Glu、GREE、Konami、TinyCo、HandyGames、IGG及Disney Mobile等。截止2013年9月,全球基于Cocos2d-x引擎的游戏下载量高达逾15亿,其中许多还占据苹果应用商店(AppStore)和谷歌应用商店(Google Play)排行榜。同时许多公司如触控、谷歌、微软、ARM、英特尔的工程师在Cocos2d-x领域也非常活跃。
另外,Cocos2d-x版本升级困难的问题,是许多开发者的一大苦恼,而经过整合的cocos,解决了Cocos2d-x的这一问题。升级cocos,其相匹配的Cocos2d-x也将自动进行升级,这极大的提高了开发效率,为开发者们带来便利,同时也为Cocos2d-x的进一步发展打下基础。
cocos2d-x
cocos2d-x
特点
易于使用:游戏开发者可以把关注焦点放在游戏设置本身,而不必消耗大量时间学习晦涩难懂的OpenGL ES,此外,Cocos2d-x还提供了大量的规范。
高效:Cocos2d-x基于OpenGL ES进行图形渲染,从而让移动设备的GPU性能发挥到极致。
灵活:方便扩展,易于集成第三方库。
免费:基于MIT协议的免费开源框架,用户可以放心使用,不用担心商业授权的问题。
社区支持:关心Cocos2d-x的开发者自发建立了多个社区组织,可以方便的查阅各类技术资料。[3]
家族成员
cocos2d是一个基于MIT协议的开源框架,用于构建游戏、应用程序和其他图形界面交互应用。可以让你在创建自己的多平台游戏时节省很多的时间。
Cocos2d也拥有几个主要版本,包括Cocos2d-iPhone、Cocos2d-X,以及被社区普遍看好的Cocos2d-HTML5和JavaScript bindings for Cocos2d-X。
Cocos2d-html5 : Cocos2d-HTML5 是基于 HTML5 规范集的 Cocos2d引擎分支,具有跨平台的能力和强大的性能,是 Cocos2d 系列引擎随着互联网技术演进而产生的一个分支,该分支基于 HTML5 规范集,目标是可对游戏进行跨平台部署,Cocos2d-HTML5 采用 MIT 开源协议,设计上保持Cocos2d家族的传统架构,并可联合 Cocos2d-x JavaScript-binding 接口,最大程度地实现游戏代码在不同平台上的复用。
JSB :Cocos2d-x JavaScript-binding 是使用 SpiderMonkey 引擎实现 C++ 接口到 JavaSciprt 的绑定方案,它可以使用 Js 快速开发游戏,以更简单的语法实现功能,并且能与 Cocos2D-HTML5 相互兼容,使同一套代码,运行两个平台,这是相比使用 Lua 实现的一个明显优势。
Cocos Studio :Cocos Studio 是一套基于 Cocos2d-x 引擎的工具集,包括 UI编辑器,动画编辑器,场景编辑器和数据编辑器。 UI 编辑器和动画编辑器主要面向美术,而场景编辑器和数据编辑器则面向游戏策划,这四个工具合在一起构成了一套完整的游戏开发体系,帮助开发者进一步降低开发难度,提高开发效率,减少开发成本。[4]
历史起源
作者简介
1973年,Ricardo Quesada出生于阿根廷。
在Ricardo 12岁时,他母亲为他购买了第一台电脑,一台Commodore 64。
刚开始,与其他孩子一样,Ricardo将自己的精力放在电子游戏上,但在几个月后,他购买了编程方面的书籍,开始学习用BASIC语言编写一些简单的游戏。两年后,Ricardo开始学习汇编语言。
在Commodore 64上,Ricardo制作了很多游戏并贡献了一个游戏编辑器,而这台Commodore 64也陪伴了他长达6年之久。此后,Ricardo选择了iAPX 286作为他的新伙伴。在他学习了C语言后的几个月,Ricardo在DOS系统下编写了一些游戏Demo和一个游戏编辑器。
当然,他并不满足于此,随后Ricardo又开始涉足Linux系统,并将编辑器移植到Linux系统上,将汇编语言改成了C语言。Ricardo将Linux作为主要的操作系统用了很多年,并不断地为开源社区贡献代码。此后他与一些志同道合的朋友一起学习了C++以及Python语言,并参加了一些开发大赛。在大学期间,Ricardo选择了钟爱的计算机科学专业,并不断涉猎计算机安全、算法、游戏架构、OpenGL等大量书籍。
Cocos2d的诞生
2005年,Ricardo和朋友萌生了用Python语言 “一星期编写一个游戏”的想法。在2005~2007年间,他们设计了许多种这样的游戏。值得注意的是,每次在设计一个新的游戏时,其游戏引擎都是重新开发的。
2008年2月,他们在阿根廷Córdoba市附近的Los Cocos,决定基于以前的开发经验,把技术进行整合,并组建了游戏引擎的原始开发团队。一个月后,第一版的游戏引擎诞生了,根据其诞生地取名为Los Cocos。一个月后Los Cocos引擎发布了0.1版,其名称从Los Cocos更名为Cocos2d。[4]
主要功能编辑
流程控制(Flow control):非常容易地管理不同场景(scenes)之间的流程控制
精灵(Sprites):快速而方便的精灵
动作(Actions):告诉精灵们该做什么。可组合的动作如移动(move)、旋转(rotate)和缩放(scale)等更多
特效(Effects):特效包括波浪(waves)、旋转(twirl)和透镜(lens)等更多
平面地图(Tiled Maps):支持包括矩形和六边形平面地图
转换(Transitions):从一个场景移动到另外一个不同风格的场景
菜单(Menus):创建内部菜单
文本渲染(Text Rendering):支持标签和HTML标签动作
文档(Documents):编程指南 + API参考 + 视频教学 + 很多教你如何使用的简单测试例子
BSD许可:尽管用就是了
基于Pyglet:没有外部的依赖
基于OpenGL:支持硬件加速[3]
架构和目录结构编辑
架构:
cocos2d-x引擎架构
cocos2d-x引擎架构
目录结构:
从github下载Cocos2d-x repo资源包后,或解压稳定版ZIP压缩包后,就会看到如下的目录结构:
目录名称
说明
CocosDenshion
音频支持。注意:Android平台中背景音乐和短音效所使用的系统API不同。
cocos2d-x
Cocos2d-x框架的主目录。
document
你可以下载doxygen文档系统,利用该系统打开本文档文件夹内的doxygen.config文件,然后再生成离线API文档。
extensions
如果需要更多图形用户界面的控制功能、网络访问、CocosBuilder支持甚至2.5D功能,你可以使用using namespace cocos2d::extension。
external
包括box2d及Chipmunk库。
licenses
cocos2d依赖很多其他开源项目。所有授权许可文件都在这个目录。
samples
重要!这是你该开始用到的文件。从Cpp/HelloCpp开始学习,你会在TestCpp中发现所有类的用法。lua和js样本也在这个目录。
scripting
我知道你不喜欢C++,写起来太复杂。没问题,我们有Lua和Javascript。Scripting文件夹包括来自火狐的lua官方引擎和SpiderMonkey引擎。
template
该目录包括在不同集成开发环境及不同平台中创建Cocos2d-x新项目的模板。这里汇集了数量庞大覆盖各种开发环境和平台的模板!
tools
包括将C++绑定至lua及javascript的脚本文件。
CHANGELOG
作者修订记录文档。
cocos2d-win32.vc2010.sln
配套Visual Studio 2010打开。注意:VS 2008自Cocos2d-x v2.0版本以来就不再支持。
cocos2d-win32.vc2012.sln
配套Visual Studio 2012打开。
create-android-project.bat
在Windows平台运行。具体用法请参考如何用脚本创建Android项目。
create-android-project.sh
在Linux或OS X平台运行。具体用法请参考如何用脚本创建Android项目。
install-templates-msvc.bat
执行该文件安装后,你可以在Visual Studio中创建空的Cocos2d-x项目。
install-templates-xcode.sh
执行该文件安装后,你可以在Xcode中创建空的Cocos2d-x项目。
市场地位编辑
目前,占有率领先移动游戏引擎主要有Cocos2d-x、Unity3D、FlashAIR、Unreal、Corona等。不同的统计方给出的数据各有差异,但总体来讲,行业首选的游戏引擎,主要都集中在Cocos2d-x与Unity3D之上。
从全球市场份额数据来看,主要覆盖中端市场的Unity相对领先,Cocos2d-x则主要占据高端与低端市场,约占1/4市场。但值得注意的是另一个数据是,在中国,Cocos2d-x则相对领先。在中国的2D手机游戏开发中,Cocos2d-x引擎的份额超过70%。
根据触控科技数据,国内现有45款月收入超千万手游中,30个基于Cocos2d-x开发,2013年手机游戏产业的22起手游并购案中,收购股权大于51%20起,其中13起的代表游戏均基于Cocos2d-x开发。
注:截至2013年12月10日数据更新,国内已有47款月收入超千万手游,其中32款基于Cocos2d-x开发。[2-3]