cocos2d-x引擎基础使用(5)--布景

CCLayer在Cocos2d-x中用于构建游戏场景的各个层面,每个层可以有特定任务,如背景、道具显示等。它继承了CCNode等多个接口,支持触控、加速器和键盘事件处理。通过注册和取消注册触控事件,可以实现游戏交互。此外,CCLayer还提供了触屏多点触控的处理方法。
摘要由CSDN通过智能技术生成

布景对应CCLayer类(层)。每个场景中可以有很多层,每层负责各自的任务,如专门显示背景地图,专门显示道具,专门负责显示人物等等。层上可以放置不同的元素,文本、精灵、菜单等。

通过层,就可以让游戏展示出各种界面。当然,很多层都设置为透明或半透明。

CCLayer类多继承自CCNode、CCAccelerometerDelegate、CCTouchDelegate、CCKeypadDelegate四个类。

 static CCLayer *create(void);   /** 创建CCLayer对象*/ 
    virtual void onEnter();      /** 继承CCNode的方法*/
    virtual void onExit();       /** 继承CCNode的方法*/
    virtual void onEnterTransitionDidFinish();      /** 继承CCNode的方法*/
    
    // 触屏事件默认操作,用来调用回调函数
    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) {CC_UNUSED_PARAM(pAccelerationValue);}
    virtual void registerWithTouchDispatcher(void);    /** 如果isTouchEnabled为真,onEnter调用本方法。通过重载来改变CCLayer接收触屏事件的方式。 ( Default: CCTouchDispatcher::sharedDispatcher()->addStandardDelegate(this,0); )
    例子:
    void CCLayer::registerWithTouchDispatcher()
    {
        CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,INT_MIN+1,true);
    }
    */

    
    void registerScriptTouchHandler(int nHandler, bool bIsMultiTouches = false, int nPriority = INT_MIN, bool bSwallowsTouches = false);    /** 注册触屏事件脚本处理函数 */
    void unregisterScriptTouchHandler(void);   /** 取消注册脚本*/
    bool isTouchEnabled();   /** 是否接收触屏事件*/ 
    void setTouchEnabled(bool value);   /** 设置是否接收触屏事件*/ 
    bool isAccelerometerEnabled();      /** 是否接收加速事件?*/
    void setAccelerometerEnabled(bool value);    /** 设置是否接收加速事件?*/
    bool isKeypadEnabled();       /** 是否接收键盘事件*/
    void setKeypadEnabled(bool value);     /** 设置是否接收键盘事件*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值