(三)认识Cocos2D-X引擎

来源:互联网 发布:mac窗口切换 编辑:程序博客网 时间:2024/05/01 21:53

1、  Cocos2D-X跨平台解决方案

这里可以看到:最上层app层次,不同平台打出的游戏包都不一样。

 

下面的就是我们实现跨平台最重要的两块:View 和 event

那么Cocos2d-x是如何实现不同平台下这两个模块的融合:

1、应用平台下的app有一个画面,那么它这个画面是需要View来呈现的,那么这里的View就会跳到Opengl这个层次,因为它所呈现的是一个Opengl的一个视图,Opengl它是用来渲染图像的一个视图,不同平台下它都有一个这样的接口,当然Windows 8下是没有的。

2、我们要在这个View里面绘制里面的内容,这个才是Cocos2d-x的内容。所以说Cocos2d所做的功能都在最下面那一层,那么我们反着往上推,比如说:我们在screen里做好场景和图层之后我们要显示在Opengl里面,Opengl能够跨平台,Android、IOS都有,显示在Opengl之后呢这个应用程序就可以实现统一了,那么上层都会调用Opengl这个视图来显示。

         3、同样的,事件处理event还更简单一点,一个应用程序它都有一个事件处理的机制。事件处理机制在传到Opengl这一层的时候呢,它会有一个总的管理,就是说它会把应用程序的事件都传到Opengl这个事件里面,然后再有Opengl进行划分,也就是Cocos2d里面Touch/key这两个模块,就一个是触屏,一个是按键来做这个事情。

 

2、  Cocos2D-X版本控制

重点内容:

3、  Cocos2D-X功能模块

 

紫色的两块是两块物理引擎 Box2D和Chipmunk (二维)。

 

由于现在是网络的时代,所以网络功能这个功能是非常重要的。

libcurl它支持的是非实时的通信方式。HTTP等等。

BSD Socket它支持实时的通信方式。TCP/IP、Socket等等。

SimpleAudioEngine处理音频的一个库。

 

4、  Cocos2D-X数据接口

a)      CCCopy。    它是用来复制对象的。这个可以理解为一个接口(C++中没有接口)

b)      CCObject。  它继承了CCCopy这个协议,可以理解为最顶层的一个类。

c)      CCZone。    它有一个成员变量,一个构造函数。它里面存的就是一个Object对象

d)      CCData。            它就是用来存数据的。

e)      CCGeometry。      它是一些几何图形要用的。

f)       CCSet。          它也用来存数据存对象的。

g)      CCArray。                            数组

h)      CCString。                 

i)        ccType.h。

j)        STL

1、  vector

2、  list

3、  stack

4、  queue

5、  map

0 0
原创粉丝点击