本节课将讲述Cocos2d-X的历史和发展,从Cocos2d-X的出现到发展,对Cocos2d-X有一个整体的概念,然后对Cocos2d-X的未来进行一定的分析。这些都是高级Cocos2d-X开发人员所要必备的知识和技能
Cocos2d-X的前身是Cocos2d-iPhone
Cocos2d-X是国内一个团队将Object-C语言编写的Cocos2d-iPhone翻译到C++语言,以实现跨平台功能。2011年Cocos2d-X 0.9.0正式发布,同时Cocos2d-iPhone 1.0.0正式发布,标志Cocos2d-X的全部功能开始与Cocos2d-iPhone同步,Cocos2d-X完全采用Cocos2d-iPhone所使用的Object-C接口风格。
开发者可以很容易的将Cocos2d-iPhone的项目移植到Cocos2d-X中,很多第三方工具也开始同时支持Cocos2d-X
Cocos2d-X 2.x仍然保持与Cocos2d-iPhone同步
Cocos2d-X 2.x较之前版本,最大的改变是支持了OpenGL ES2.0(之前版本支持的是OpenGL ES1.x,OpenGL ES2.0中使用可编程管线代替了OpenGL ES1.x采用的是固定管线,如果有网友希望学习OpenGL ES相关知识,我会在之后增加这个方面的教程)
Cocos2d-X 3.0放弃了与Cocos2d-iPhone保持同步
由于Android平台的崛起,而Cocos2d-iPhone是只针对iPhone平台的游戏引擎,所以继续和Cocos2d-iPhone保持一致将不再易于扩展和革新,所以Cocos2d-X需要自由发展
回归C++风格,使用C++11的特性
更灵活的渲染架构
之前版本中Cocos2d-X给每个元素制定一个逻辑深度,渲染的时候对UI树进行深入优先遍历,按照正确的顺序进行绘制。这样有两点不好:1、每个元素的逻辑深度固定,无法改变;2、每个元素负责自己的绘制,假如相邻的两个元素使用相同的纹理和其他绘制参数,仍然需要单独绘制两次。
新版本的Cocos2d-X将渲染从UI树遍历中分离出来,将对UI树进行深入优先遍历得到的命令,放入RenderCommand,并按照一个新的变量globalZorder重新设定全局的绘制顺序。
3D
OpenGL ES3.x
将渲染从主线程剥离,使用多线程提高并发型
笔者制作网站的目的,主要是借用自己之前的知识背景(Android App开发和图形学知识),将自己学习笔记拿出来,和大家一起进行交流,毕竟每个人的知识体系不同,有交流才会有提高,所以欢迎大家通过各种方式和我联系。
网址:www.geekfaner.com
youku教学视频:http://i.youku.com/geekfaner
“百度传课”教学视频(高清版_推荐):http://www.chuanke.com/s2588605.html