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,触摸完成,请大家指示!




  • 相关阅读:
    Winform学习笔记
    ASP.NET后台注册javascript脚本方法
    使用MultipleActiveResultSets复用Sql Server 2008数据库连接
    angular 2 新建组件命令
    一个关于日志操作方法
    vs2017 打开包管理器 (程序包管理控制台)
    Asp.Net Core Identity 怎么获取当前登录的用户信息?
    abp 实现所有审计的接口
    IIS8.5 布署 Asp.Net Core 老是报500的错误怎么办?
    .NET Core 1.1布署后出现“HTTP Error 502.5 Process Failure”的解决办法
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4265572.html
Copyright © 2011-2022 走看看