• cocos2dx进阶学习之CCLayer


    继承关系

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

    获取脚本入口



  • 相关阅读:
    交换函数作业
    对本课程的期望及对老师的建议
    前一半元素与后一半元素交换
    使用多线程(newSingleThreadScheduledExecutor)创建一个定时任务
    js判断是否为整数
    kafka入门及使用(不用集成spring)
    Eclipse 必须安装的几个插件
    mybatis 批量插入/批量修改的写法
    maven pom.xml中出现错误failOnMissingWebXml Dynamic Web Module 3.1 requires Java 1.7 or newer,每次update后都会回滚到1.5解决方案
    Eclipse 插件安装及相关问题解决方案(svn、spring、gradle、git)
  • 原文地址:https://www.cnblogs.com/new0801/p/6177222.html
Copyright © 2020-2023  润新知