尊重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27094663
引擎简单介绍
Cocos2d-x 的原型是 Cocos2d,一个最早来源于几位 Python 开发人员在 PyWeek 竞赛中的作品。
目的是封装底层画图代码。简 化 2D 游戏的开发过程,避免每次都"又一次发明轮子"。
有了 Cocos2d,开发人员就能够把所有精力集中在游戏开发上,而不必关心画图的细节。
这个 Python 版本号的引擎最早公布于 2008 年 4 月。并一直保持版本号的更新。
在 Cocos2d 公布的同年 3 月。苹果公布了 iOS 的 SDK。同意第三方开发人员为 iOS 设备开发各种应用,
当中游戏应用是最热门的。
相同是为了简化游戏开发的难度,把大家从复杂的 OpenGL 编程中解放出来,
Ricardo Quesada 将 Cocos2d 从 Python 移植到了 iOS 上,并使用 iOS 的原生语言 Objective-C
重写了游戏引擎。
2008 年 11 月,Cocos2d-iPhone 引擎正式开源,发布了 0.1 版,为 2D 游戏开发提供了一个便利的方式。
伴随着 iOS 开发的大潮。Cocos2d-iPhone 引擎逐步完好,这得益于社区内世界各地开发人员的贡献。
而且其发展速度已经大大超过了 Python 版本号。因为 Cocos2d 的易用性,使用 Cocos2d-iPhone开发的游戏数量日益增多,至今已经有
2500 多个游戏在 App Store 上架。
后来。Android 的兴起大大扩展了移动终端的游戏市场,也由此产生了一个迫切的需求,
即游戏开发人员须要将游戏同一时候部署在两个热门平台上,可是为一个游戏维护两套代码的代价是很昂贵的,
尤其是在两个平台的主流语言、主流引擎还不统一的情况下。
因此。基于 C++语言、以 Cocos2d-iPhone 为基础开发的 Cocos2d-x 出现了,它凭借其从语言到接口的跨平台
特性。受到了跨平台游戏开发人员的广泛关注。使用 Cocos2d-x 开发的游戏已经能够做到"代码通用"。仅仅须要经过少量调整。就能够移植到包含 iOS、Android、Windows、Linux
在内的诸多平台上。
从本质上说,Cocos2d 是一个图形引擎。封装了复杂的图形接口,通过抽象出精灵、动作等概念,减少了游戏开发难度,简化了开发过程。Cocos2d-x
为保证游戏能方便地移植到不同平台上,又在此基础上做了非常多扩展。包含一套 Objective-C 风格的基础类系、平台无关的多点触摸协议、重力感应和音频系统等。
历经Cocos2d-x团队的的精心打磨,Cocos2d-x v3.0正式版本号终于公布!相比于去年9月份的Cocos2d-x v3.0-alpha版,正式版本号在渲染器、性能、兼容性、稳定性等方面都得到了质的提升,并新增对WinPhone8的支持。
此外。引擎团队更分别针对C++、Lua、JavaScript三种编程接口的使用体验做了大量提升,
我们来看一下各语言的优化:
C++基础底层优化:新渲染器、新API、性能飞跃
增强Lua语言体验: 开发快,測试快,上线快
新产品线Cocos2d-JS:HTML5+JSB高效整合
CocoStudio 新增Code IDE:打造完整工具链
接下来,我们将简介一下Cocos2d -x 3.0的特性。
流程控制(flow control):很easy管理不同场景(scene)之间的流程控制。
精灵(sprite):高速而方便的精灵用于显示一切可见的元素。
节点(node):基于树结构的分层组织方式,方便管理不同层次的游戏元素,同一时候提供了统一管理的计时器(scheduler)。
动作(action):应用于精灵或其它游戏元素的动画效果,能够组合成复杂的动作。如移动(move)、旋转(rotate)和缩放(scale)等。
特效(effect):包含波浪(wave)、旋转(twirl)和透镜(lens)等视觉特效。
平面地图(tiled map):支持矩形和六边形的平面地图。
菜单(menu):创建游戏中经常使用的菜单。
文本渲染(Text Rendering):支持标签和HTML标签动作
用户输入:提供接受用户触摸事件、传感器(如加速度计)等输入的简单解决方式。
文档(document):编程指南、API 參考、视频教学以及非常多简单可靠的測试例子。
MIT 许可:免费开放的协议。可是请谨记尊重版权。