对cocos2d-x的初步理解

来源:互联网 发布:sugarhosts 知乎 编辑:程序博客网 时间:2024/05/17 22:22

cocos2d-x是个跨平台的2D游戏渲染引擎。引擎是用c++语言开发的,基于OpenGL图形库实现了一套2D游戏开发的框架。程序猿只要基于引擎编写一次游戏代码,即可编译出各个平台(iOS, android, windows等等)的游戏版本。


怎么用cocos2d-x开发游戏:

1.  实现一个游戏页面:

cocos2d-x引擎把一个游戏页面看作是一个场景(CCScene),  场景内可以加入各种节点元素(基于CCNode实现的), 比如图层(CCLayer)、精灵(CCSprite)、文本标签(CCLabelTTF)、菜单(CCMenu)等。

 一般会在场景内先加入一个图层(CCLayer)支持触摸、加速计等的事件响应,只有CCLayer才支持事件响应,然后再把各个节点元素加到图层上。

一个场景内也可能分为多个图层,各个图层分别负责不同的功能,一个专门用于放UI界面、进行事件响应,一个专门用来放背景,一个专门放动画。

游戏中的各个节点元素经常需要动画,cocos2d-x在CCNode类里实现了对动画(CCAction)的支持,只需要调用runAction()方法,即可轻松添加各种动画。

2.  页面间切换:

CCDirector类对场景间切换做出了支持,通过replaceScene、pushScene、popScene等几个方法进行切换。

3.  事件响应:

CCLayer默认不启用事件接收,需要显示启用。启用后,重载下列函数,即可在下列函数内进行触摸事件的响应:

    void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);

    void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);

    void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);

    void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);


cocos2d-x游戏引擎的大致结构:

CCDirector类是整个引擎的核心,主要负责场景(CCScene)切换、游戏状态管理(暂停、恢复、终止)、引擎本身属性的一些设置。

CCScene类表示场景,可以添加各种图层(CCLayer),

CCLayer类表示图层,能够接收触摸、加速计等事件,也能够管理各种节点元素,如文本标签(CCLabelTTF)、菜单(CCMenu),

CCSprite类用来表示游戏内的各种角色,该角色支持动画、水平变换等各种操作, 可以方便的模拟现实中的各种效果。

CCLabel类表示标签,可以往上面写文字、贴纹理图片等,用来显示文字、图片。

CCMenu类表示菜单,相当于按钮。

CCAction类表示动作,或者说动画,所有基于CCNode类的对象都可以轻松实现各种动画。

CCTransitionScene类表示场景切换,实现各种场景切换的效果。


CCActionManager     管理动作的单例

CCSpriteFrameCache 管理图片资源的单例

CCTextureCache   管理纹理的单例

CCTouchDispatcher   分发触摸事件的单例

CDAudioManager         管理音频的单例

SimpleAudioEngine     音频引擎




原创粉丝点击