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可以禁止触摸向下传递。

  • 相关阅读:
    BZOJ 4511 洛谷3131 USACO 16.Jan 七子共
    Atcoder Code Festival 2017 qual C 10.22 D题题解
    hdu 5122(2014ACM/ICPC亚洲区北京站) K题 K.Bro Sorting
    HDU 5115 (2014ACM/ICPC亚洲区北京站) D题(Dire Wolf)
    POJ
    hihocoder 1032 最长回文子串(Manacher)
    hihocoder 1015 KMP算法
    Trie树 hihocoder 1014
    POJ 3468 线段树区间修改查询(Java,c++实现)
    atCoder Ants on a Circle(又是蚂蚁问题。。。)
  • 原文地址:https://www.cnblogs.com/xdao/p/cocos2dx_touch.html
Copyright © 2011-2022 走看看