简介
Cocos2d-x是一个支持多平台的2D手机游戏引擎,使用C++开发,基于OpenGL ES,基于Cocos2d-iphone,支持WOPhone,iOS4.1,Android2.1及更高版本,WindowsXP&Windows7,WindowsPhone8.
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等桌面操作系统,因此,我们可以编写的源代码很容易在桌面操作系统中编辑和调试。
特点
什么是“x”?cocos2d-x方式:有时候,我们写的cpp文件扩展CXX。“x”,标志着该项目是由C++中,并提供C++中的API编写的。“x”,也意味着交叉。这个开源项目的目标是让用户创建跨平台的代码。目前支持的平台是在iOS,Android的,WinPhone,Win32平台上,但可根据要求提供更多的平台。
cocos2d-x引擎架构
平台支持
Cocos2d-X是跨平台的,具体各个平台的支持如下:
平台状态支持的版本
iOS稳定4.0~5.0版都已很好地测试过
Android稳定2.0~2.3,3.0~3.1都已很好的测试过,上面的游戏有超过1660万的下载量
Windows稳定WinXP,Vista,Win7。如果你在调用OpenGL函数时遇到问题,请上升级你的显卡驱动
bada稳定完成到v0.10.0.一些alpha用户已经在三星的store上发布游戏,这些游戏总共有90,000+的下载量
Marmalade从0.11.0开始稳定一些游戏在这个接口上发布。Giovanni Zito和Francis Styck正在维护这一接口
LinuxUbuntu可用Linux接口直接使用OpenGL。
乐Phone可用未知。
MeeGo不推荐由ExitGames贡献。这个接口已完成但没有融合。在ExitGames完成这一接口后,MeeGo就被诺基亚&因特尔放弃了。
MacOSX即将到来网龙公司已经把2dx移植到OSX上,源码将会在2012年公开
WindowPhone7PerAlpha版发布我们称它为Cocos2D-XXNA。框架和游戏需要全部用C#重写
主要功能
流程控制(Flow control):非常容易地管理不同场景(scenes)之间的流程控制
精灵(Sprites):快速而方便的精灵
动作(Actions):告诉精灵们该做什么。可组合的动作如移动(move)、旋转(rotate)和缩放(scale)等更多
特效(Effects):特效包括波浪(waves)、旋转(twirl)和透镜(lens)等更多
平面地图(Tiled Maps):支持包括矩形和六边形平面地图
转换(Transitions):从一个场景移动到另外一个不同风格的场景
菜单(Menus):创建内部菜单
文本渲染(Text Rendering):支持标签和HTML标签动作
文档(Documents):编程指南+API参考+视频教学+很多教你如何使用的简单测试例子
MIT许可:尽管用就是了
基于Pyglet:没有外部的依赖
基于OpenGL:支持硬件加速
3D对象:MD2模型支持
脚本语言:支持Lua,JavaScript语言
引擎应用
目前cocos2d-x引擎在国内手机游戏开发使用的份额接近70%,而国外使用份额则是接近25%,在苹果APP排行榜top10理面,有7个都是用cocos2d-x引擎开发的。
教程
cocos2d-x跨平台游戏开发课程内容共分为5个阶段:
第一阶段主要了解、认识游戏开发,并为游戏开发做好准备工作;
第二阶段则学习如何使用cocos2d-x引擎进行进行游戏开发,它包含了cocos2d-x引擎各个方面的基础知识点;
第三阶段则学习游戏开发中一些常用的技术,包括网络,安全,优化,编辑器等运用,以及结合移动设备的特点和当前的市场环境,将游戏做得受欢迎;
第四阶段则主要针对游戏引擎本身进行分析,以满足游戏开发中的各种扩展需要,甚至是开发和完善引擎本身;
第五阶段就主要结合实际的商业项目,让大家掌握游戏开发的全过程,包括策划,构架,管理等,以便能独立完成商业及游戏项目。
游戏
使用该项目构建的游戏相当多,具体参见以下图册。
2014年3月1日即将发内测的一款卡牌手游《终极三国OL》也是使用该技术,这款游戏是该技术应用最好的案例,可以找来学习参考下。