支持HW团队,就支付宝领取下面的红包吧!(2018年3月31前,就几毛,也会几块,可以和其他红包叠加使用),你领取消费,HW有奖励。红包使用无条件限制,有条件请注意是不是有病毒。

小伙伴们,给大家发红包喽!人人可领,领完就能用。祝大家领取的红包金额大大大!#吱口令#长按复制此消息,打开支付宝就能领取!er1OEj73Uj

登入 注册 | 验证
| 搜索

博主:初学MPEG

初学MPEG 本博客-采用Python的web框架Django与Mysql数据库,致力于对Python、Django的了解 与研究
Django技术QQ群:XXXXXXX
Python技术QQ群:XXXXXXX

分类

关键字

本站最新博文

友情链接  

[转][cocos2d-x] --- CCScene和CCLayer类详解

类别:其他 状态:游客可见,可回,会员可关联(没审核) 阅读:1676 评论:0 时间:一月 18, 2017, 11:39 p.m.
关键字:cocos2d-x

 来源:http://blog.csdn.net/qiurisuixiang/article/details/8769962

cocos2d-x引擎中,CCScene中存放的是需要渲染的层、人物角色和菜单等。它们可以作为一个整体,一起渲染,一起销毁,一起被场景切换使用

 

2cocos2d-x引擎中,CCScene的类结构很简单,是CCNode的子类,类结构图如下

 

下面来看看CCScene中的主要函数(cocos2dx\layers_scenes_transitions_nodes\CCScene.h

bool init();  
static CCScene *create(void);  

通过查看源文件发现CCScene除了构造函数外,只有一个init初始化函数和一个create生成CCScene的函数。其实,在cocos2d-x引擎中,CCScene相当于是一个容器。将多个需要渲染的对象放在CCScene中统一管理,包括创建、销毁和场景切换

 

通过代码肯定会有一个疑问:对象是如何添加场景CCScene中的呢?因为CCScene继承至CCNode,所以CCScene中也会有父类CCNode中的添加对象的方法

 

在每一个游戏中,场景可以由许多层构成,每一层负责各自不同的任务,例如专门负责显示背景、专门负责显示道具和专门负责显示任务等。而在每一层上面,又可以添加不同的元素,如文本、精灵和菜单等。通过层与层之间的组合关系,就能让游戏显示出各种各样的界面了。当然为了看得清每一层上的东西,很多层都设置成透明或者半透明,否则只能看到最上层的东西了

 

在使用cocos2d-x编写一个游戏时,很多时候需要与层打交道,下面来看看层(CCLayer)在cocos2d-x中的类结构图

 

接下来学习下CCLayer类的主要函数解释,主要添加的方法继承至CCNode

 

//初始化函数  
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);  

 

 
操作:

Please Login (or Sign Up) to leave a comment