继承关系

CCLayer -> CCNode,CCTouchDelegate,CCAccelerometerDelegate,CCKeypadDelegate

CCLayer在cocos2dx中抽象的是一个层,场景的一部分,CCLayer的父类很多,除了CCNode之外

还有CCTouchDelegate,CCAccelerometerDelegate,CCKeypadDelegate,这三个类都是用户输入处理代理

所以CCLayer在场景中,专门负责接收和处理用户的输入。

函数

static CCLayer *create(void);

创建一个Layer

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);

多点触摸处理函数

virtual void didAccelerate(CCAcceleration* pAccelerationValue);

重力感应回调

void registerScriptAccelerateHandler(int nHandler);

void unregisterScriptAccelerateHandler(void);

注册和反注册脚本

virtual void registerWithTouchDispatcher(void);

向消息派发管理器注册自己

virtual void registerScriptTouchHandler(int nHandler, bool bIsMultiTouches = false, int nPriority = INT_MIN, bool bSwallowsTouches = false);

virtual void unregisterScriptTouchHandler(void);

注册脚本处理函数

virtual bool isTouchEnabled();

virtual void setTouchEnabled(bool value);

virtual void setTouchMode(ccTouchesMode mode);

virtual int getTouchMode();

设置触摸屏是否有效,以及触摸模式,模式主要是单点和多点模式

virtual void setTouchPriority(int priority);

virtual int getTouchPriority();

设置触摸优先级

virtual bool isAccelerometerEnabled();

virtual void setAccelerometerEnabled(bool value);

virtual void setAccelerometerInterval(double interval);

设置是否接受重力感应

virtual bool isKeypadEnabled();

virtual void setKeypadEnabled(bool value);

设置按键处理

void registerScriptKeypadHandler(int nHandler);

void unregisterScriptKeypadHandler(void);

注册和反注册按键处理脚本

virtual void keyBackClicked(void);

virtual void keyMenuClicked(void);

后退和菜单按钮处理函数

inline CCTouchScriptHandlerEntry* getScriptTouchHandlerEntry() { return m_pScriptTouchHandlerEntry; };

inline CCScriptHandlerEntry* getScriptKeypadHandlerEntry() { return m_pScriptKeypadHandlerEntry; };

inline CCScriptHandlerEntry* getScriptAccelerateHandlerEntry() { return m_pScriptAccelerateHandlerEntry; };

获取脚本入口

cocos2dx进阶学习之CCLayer的更多相关文章

  1. cocos2dx进阶学习之CCEGLView

    继承关系 CCEGLView-> CCEGLViewProtocol CCEGLView是窗口,在不同平台上有不同的实现,而CCEGLViewProtocol是CCEGLView定义的接口,所以 ...

  2. cocos2dx进阶学习之场景切换

    背景 在学习马里奥时,我们学习到从菜单场景到游戏场景的切换,代码如下 void CMMenuScene::OnStartCallBack( CCObject *pSender ) { CCDirect ...

  3. cocos2dx进阶学习之CCNode

    继承关系 CCNode  -> CCObject CCNode在cocos2dx中抽象舞台对象,需要渲染的对象都是从CCNode派生,包括CCScene,CCLayer,CCSprite等等 C ...

  4. cocos2dx进阶学习之CCScene

    继承关系 CCScene -> CCNode -> CCObject CCScene抽象了一个场景的概念,类似舞台的一幕 函数 static CCScene *create(void); ...

  5. cocos2dx进阶学习之屏幕适配

    背景 在学习cocos2dx时,我们在main函数中发现一句代码, #include "main.h" #include "AppDelegate.h" #in ...

  6. cocos2dx进阶学习之CCAction

    CCAction在cocos2dx中,抽象了节点的动作.它由CCObject派生,因此它不是渲染节点. 它经常的用法是,创建一个action,然后让某个CCNode对象(一般是精灵),去执行它. 在马 ...

  7. cocos2dx进阶学习之瓦片地图编辑器

    之前学习了瓦片地图类,现在我们来学习下瓦片地图制作工具 这个是开源的工具,可以从网上下载,下面我们演示下怎么做地图 步骤1 将需要用到的图片放到一个目录下,比如我机器上就是d:\tiled,这些图片是 ...

  8. cocos2dx进阶学习之CCTMXTiledMap

    继承关系 CCTMXTiledMap -> CCNode 它由CCNode派生,我们已经知道CCNode是cocos2dx的舞台对象的公共父类,所以CCTMXTiledMap也是个舞台对象 成员 ...

  9. cocos2dx进阶学习之CCSprite

    继承关系 CCSprite -> CCNodeRGBA       ->   CCNode, CCRGBAProtocol CCTextureProtocol 从继承关系可以看出,CCSp ...

随机推荐

  1. SSO 基于Cookie+fliter实现单点登录(SSO):工作原理

    SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分. SSO的一种较为通俗的定义是:SSO是指訪问同一server不同应用中的受保护资源的同一用户,仅仅须要登录一次,即 ...

  2. 自定义通用Distinct去除重复数据的2中方式

    由于Lambda Distinct方法默认是按照集合里面的值比较的,所以当集合里面存放的是类的时候,我们一般是按照实体中的某一属性值比较,其实是用默认的Distinct也可以的,自己先定义一个实现了接 ...

  3. 【踩坑】近来在Firefox上遇到的一些坑

    因为工作一年多以来,做的工作基本都是和webkit系列打交道. 先是做m站,后来做了两个app内嵌的hybrid项目,从来只考虑webkit前缀和相关的伪类. 最近四个多月开始做内部的管理系统,写写样 ...

  4. zoj 2256 Mincost

    #include<stdio.h> int main(void) { int kil; ; double sum; ) { sum=; flag=; while(kil) { ) { su ...

  5. objective-C学习笔记(十一)类别和扩展

    类别 类别是对外的,外部都可以访问 类别是在没有源代码或者基于某些特定场合的情况下,为一个类增加功能(方法).或者用于给一个特别大的类进行分割. 命名规则:类名+扩展方法,如NSString 可以添加 ...

  6. vector中resize和reserve的区别,代码验证

    #include <vector> using namespace std; int main() { vector<int> resizeVect; vector<in ...

  7. PHP解析和生成xml(DOMDocument版)

    上次和大家分享了SimpleXML操作xml的一些知识,但是php中除了simplexml还有DOMDocument,这次就着重来看看DOMDocument的用法,还是把生成xml和解析xml分开写 ...

  8. Android 开发笔记 “The constructor AlertDialog.Builder(new View.OnKeyListener(){}) is undefined”

    1.The constructor AlertDialog.Builder(new View.OnKeyListener(){}) is undefined等,应该有很多类似问题 比如你的源码文件名是 ...

  9. 从基因组可视化工具——circos说起,circos安装

      这是博客改版的第一篇博文,选择最近使用的生物信息学软件——circos开始写起.circos是用perl写的生物软件,从发表的文章来看 学习circos主要是熟悉配置文件的编辑方法,搞清楚其中的标 ...

  10. 城通网盘,千军万马,千脑网盘,119g网盘哪个适合做网赚?

    转载请注明文章来自 [ofiicexie] 网盘网赚已经流行了有一段时间了,国内流行的几个网盘有城通,千军万马,千脑,119g,今天小编写以此文来比较分析一下这几个网盘的优缺点. 这里,我特意做了个这 ...