CCScene和CCLayer类详解
2013-09-02 09:37
225 查看
转自:http://blog.csdn.net/qiurisuixiang/article/details/8769962
1 在cocos2d-x引擎中,CCScene中存放的是需要渲染的层、人物角色和菜单等。它们可以作为一个整体,一起渲染,一起销毁,一起被场景切换是用
2在cocos2d-x引擎中,CCScene的类结构很简单,是CCNode的子类,类结构图如下
3 下面来看看CCScene中的主要函数(cocos2dx\layers_scenes_transitions_nodes\CCScene.h)
[cpp] view
plaincopyprint?
bool init();
static CCScene *create(void);
4 通过查看源文件发现CCScene除了构造函数外,只有一个init初始化函数和一个create生成CCScene的函数。其实,在cocos2d-x引擎中,CCScene相当于是一个容器。将多个需要渲染的对象放在CCScene中统一管理,包括创建、销毁和场景切换
5 通过代码肯定会有一个疑问:对象是如何添加场景CCScene中的呢?因为CCScene继承至CCNode,所以CCScene中也会有父类CCNode中的添加对象的方法
6 在每一个游戏中,场景可以由许多层构成,每一层负责各自不同的任务,例如专门负责显示背景、专门负责显示道具和专门负责显示任务等。而在每一层上面,又可以添加不同的元素,如文本、精灵和菜单等。通过层与层之间的组合关系,就能让游戏显示出各种各样的界面了。当然为了看得清每一层上的东西,很多层都设置成透明或者半透明,否则只能看到最上层的东西了
7 在使用cocos2d-x编写一个游戏时,很多时候需要与层打交道,下面来看看层(CCLayer)在cocos2d-x中的类结构图
8 接下来学习下CCLayer类的主要函数解释,主要添加的方法继承至CCNode
[cpp] view
plaincopyprint?
//初始化函数
virtual bool init();
//生成CCLayer
static CCLayer *create(void);
//层开始进入舞台时的回调函数
virtual void onEnter();
//层离开舞台时的回调函数
virtual void onExit();
//层进入舞台后的回调函数
virtual void onEnterTransitionDidFinish();
/* 触屏事件 */
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);
1 在cocos2d-x引擎中,CCScene中存放的是需要渲染的层、人物角色和菜单等。它们可以作为一个整体,一起渲染,一起销毁,一起被场景切换是用
2在cocos2d-x引擎中,CCScene的类结构很简单,是CCNode的子类,类结构图如下
3 下面来看看CCScene中的主要函数(cocos2dx\layers_scenes_transitions_nodes\CCScene.h)
[cpp] view
plaincopyprint?
bool init();
static CCScene *create(void);
4 通过查看源文件发现CCScene除了构造函数外,只有一个init初始化函数和一个create生成CCScene的函数。其实,在cocos2d-x引擎中,CCScene相当于是一个容器。将多个需要渲染的对象放在CCScene中统一管理,包括创建、销毁和场景切换
5 通过代码肯定会有一个疑问:对象是如何添加场景CCScene中的呢?因为CCScene继承至CCNode,所以CCScene中也会有父类CCNode中的添加对象的方法
6 在每一个游戏中,场景可以由许多层构成,每一层负责各自不同的任务,例如专门负责显示背景、专门负责显示道具和专门负责显示任务等。而在每一层上面,又可以添加不同的元素,如文本、精灵和菜单等。通过层与层之间的组合关系,就能让游戏显示出各种各样的界面了。当然为了看得清每一层上的东西,很多层都设置成透明或者半透明,否则只能看到最上层的东西了
7 在使用cocos2d-x编写一个游戏时,很多时候需要与层打交道,下面来看看层(CCLayer)在cocos2d-x中的类结构图
8 接下来学习下CCLayer类的主要函数解释,主要添加的方法继承至CCNode
[cpp] view
plaincopyprint?
//初始化函数
virtual bool init();
//生成CCLayer
static CCLayer *create(void);
//层开始进入舞台时的回调函数
virtual void onEnter();
//层离开舞台时的回调函数
virtual void onExit();
//层进入舞台后的回调函数
virtual void onEnterTransitionDidFinish();
/* 触屏事件 */
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);
相关文章推荐
- [cocos2d-x] --- CCScene和CCLayer类详解
- [cocos2d-x] --- CCScene和CCLayer类详解
- CCScene切换的所有特效(27种)以及设置屏幕横竖屏!
- cocos2d-x游戏开发(十)执行单元场景CCScene
- 【Cocos2d游戏开发之二】CCScene场景切换的特效
- 七、CCScene
- 【iOS-Cocos2d游戏开发】CCScene切换的所有特效(28种)以及设置屏幕横竖屏!
- 七、CCScene
- Cocos2d-x CCNode,CCLayer,CCScene分析
- cocod2d-x 之 CCDirector、CCScene、CCSprite
- 【iOS-Cocos2d游戏开发之三】CCScene切换的所有特效(28种)以及设置屏幕横竖屏!
- CCScene,CCLayer,CCSprite,CCDirector
- Cocos2d-x学习笔记(四)CCScene分析
- 【iOS-Cocos2d游戏开发之三】CCScene切换的所有特效(28种)以及设置屏幕横竖屏!
- cocos2d-x CCNode,CCLayer,CCScene分析-沈大海cocos2d-x教程12
- cocos2d-x CCDirector管理CCScene
- 【iOS-Cocos2d游戏开发】CCScene切换的所有特效(28种)以及设置屏幕横竖屏!
- Cocos-2d几个关键类小结CCNode、CCScene、CCLayer、CCDirector、CCAction
- CCScene,CCLayer,CCSprite的默认坐标和默认锚点
- iOS_31_cocos2d_CCScene