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

  • 相关阅读:
    SSH框架总结
    SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
    iBATIS SQL Maps
    深入理解Mybatis中sqlSessionFactory机制原理
    mybatis源码分析(1)——SqlSessionFactory实例的产生过程
    MyBatis常用对象SqlSessionFactory和SqlSession介绍和运用
    Generator生成器函数
    MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping
    采用图形用户界面的操作系统/应用程序
    图形界面的特点是人们不需要记忆和键入繁琐的命令
  • 原文地址:https://www.cnblogs.com/xdao/p/cocos2dx_touch.html
Copyright © 2011-2022 走看看