zoukankan      html  css  js  c++  java
  • cocos2dx触屏响应(单点触摸)CCTouchBegan,CCTouchMove,CCTouchEnd

    今天白白跟大家分享一下cocos2dx单点触摸经验。

    cocos2dx触摸CCTouch类的单点触摸有四个函数CCTouchBegan,CCTouchMove,CCTouchEnd,CCTouchCancalled。

    这些触摸的函数不一定每一个都要响应,可是CCTouchBegan是一定要有的,他的返回值是bool,其他函数返回值为void

    以下我们看看怎样触摸:

    首先我们新建一个项目Hello

    1、在源文件Hello.h声明函数

        void registerWithTouchDispatcher(void);                 //注冊触摸
        bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);    //触摸開始,注意返回类型,假设返回false,就不用写以下三个函数
        void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);    //触摸滑动                              
        void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);    //触摸结束                  
        void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);//触摸取消  比如中途来点

    2、 开启触摸

    在须要开启触摸的地方添�即可,比如init里面

    bool Hello::init()
    {
        setTouchEnabled(true);
        return true;
    }


    3、实现注冊函数

    void Hello::registerWithTouchDispatcher()           
    {
        CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
    }


    4、实现ccTouchBegan

    bool Hello::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)
    {	
        CCPoint touchpoint = pTouch->getLocation();		 //获取触摸坐标
        CCLOG("touch began, touchpoint is %f", touchpoint);
        return true;      //true表示继续响应CCTouchMove,CCTouchEnd,CCTouchCancalled,false表示不响应。
    }


    5、实现ccTouchMove
    void Hello::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)
    {	
        CCPoint touchpoint = pTouch->getLocation();		 //获取触摸坐标
        CCLOG("touch move, touchpoint is %f", touchpoint);
    }

    6、实现ccTouchEnded

    void Hello::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
    {
        CCPoint touchpoint = pTouch->getLocation(); //获取触摸坐标 
        CCLOG("touch end, touchpoint is %f", touchpoint);
    }

    7、实现ccTouchCancalled

    void Hello::ccTouchCancalled(CCTouch *pTouch, CCEvent *pEvent)
    {	
        CCPoint touchpoint = pTouch->getLocation();		 //获取触摸坐标
        CCLOG("touch end, touchpoint is %f", touchpoint);
    }


    ok,触摸完成,请大家指示!




  • 相关阅读:
    【使用intellij idea14创建多Module工程---马房山网 www.mafangshan.com】
    【Zookeeper可以干什么】
    【Zookeeper是什么】
    【win10 intelij terminal 无法输入命令】
    【Information:java: javacTask: 源发行版 1.7 需要目标发行版 1.7】
    【如何用Maven创建web项目】
    【JS关键字】
    【在网页中添加滚动文字】
    【idea自动生成serialVersionUID】
    线段树扫描线求矩形面积交
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4040733.html
Copyright © 2011-2022 走看看