zoukankan      html  css  js  c++  java
  • cocos2dx触摸

    两种方法其实都一样,CCLayer也是继承CCTouchDelegate。

    1、继承CCTouchDelegate

    添加触摸代理

    CCTouchDispatcher* pDispatcher = CCDirector::sharedDirector()->getTouchDispatcher();

    单点触摸用pDispatcher->addTargetedDelegate();

    多点触摸用pDispatcher->addStandardDelegate();

    在onExit里把代理移除

    CCDirector* pDirector = CCDirector::sharedDirector();

    pDirector->getTouchDispatcher()->removeDelegate(this);

    重写触摸处理

    a、单点触摸处理

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

    b、多点触摸处理

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

    2、继承CCLayer

    重写onEnter、onExit函数

    xxx::onEnter()

    {

    setTouchEnabled(true);

        setTouchMode(kCCTouchesOneByOne单点、kCCTouchesAllAtOnce多点);

        CCLayer::onEnter();

    }

    xxx::onExit()

    {

    CCLayer::onExit();

    }

    重写触摸处理

    a、单点触摸处理

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

    b、多点触摸处理

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

    还有触摸优先级的设置等,另外单点触摸的ccTouchBegan函数里返回true可以禁止触摸向下传递。

  • 相关阅读:
    2019南昌网络赛-I(单调栈+线段树)
    poj3250(单调栈模板题)
    poj2528(线段树+离散化)
    poj2828(线段树查找序列第k小的值)
    Seikimatsu Occult Tonneru(网络流,状态数(建不建边)不多时,可考虑直接进行枚举
    A. Coffee Break(思维题,类似于邻接表的head数组用法)
    E. Paint the Tree(树形dp)
    cdq分治学习
    2018SEERC Points and Rectangles (CDQ分治)
    SEERC 2018 Inversion
  • 原文地址:https://www.cnblogs.com/xdao/p/cocos2dx_touch.html
Copyright © 2011-2022 走看看