cocos2dx触屏响应(单点触摸)CCTouchBegan,CCTouchMove,CCTouchEnd

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



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118198.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java中,为什么byte类型的取值范围为-128~127?

    Java中,为什么byte类型的取值范围为-128~127?在学习Java基础语法的时候,初学者的我们可能都会有这么一个疑问为什么byte类型的取值范围为什么是[-128,127]而不是[-127,127]。01111111表示最大的数值:127,因为第一位是符号位,所以11111111应该是最小的数值:-127,不是这样才对?在解释这个问题之前我们需要了解几个概念:机器数、真值、原码、反码、补码机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器

    2022年6月15日
    25
  • idea中如何使用svn_svn中文使用教程

    idea中如何使用svn_svn中文使用教程首先,使用的时候,自己得先在电脑上安装个小乌龟。也就是svn啦。第一步安装小乌龟。如下:具体安装好像没什么具体要求,一路next,就好。如上图箭头所示,在安装TortoiseSVN的时候,默认commandlineclienttools,是不安装的,这里建议勾选上。这个我不确定我当时选没选,不过呢,你给安装上,也是没问题的。把上面的勾选取消了,就可以…

    2022年8月31日
    5
  • 软件测试的基本理论知识_软件测试基础知识整理

    软件测试的基本理论知识_软件测试基础知识整理01软件研发流程1.软件产品软件产品是指向用户提供的计算机软件、信息系统或设备中嵌入的软件或在提供计算机信息系统集成、应用服务等技术服务时提供的计算机软件。2.软件工程软件工程,英文名SoftwareEngineering,是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。“软件工程是开发、运行、维护和修复软件的系统方法。”这个定义相当概括,它主要强调软件工程是系统方法而不是某种…

    2025年7月30日
    2
  • redis 客户端连接及常用命令使用[通俗易懂]

    redis 客户端连接及常用命令使用[通俗易懂]一、本地客户端连接[root@localhostredis]#bin/redis-cli127.0.0.1:6379>authrootOK显示”ok”表示连接成功常用命令操作redis的数据结构:redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构value的数据结构:字符串类型string哈希类型hash:map格式列表类型list:linkedlist格式。支持重复元素集合类型set:不允

    2022年5月10日
    53
  • M91A安全帽识别布控球 安全帽穿戴AI视频分析功能

    M91A安全帽识别布控球 安全帽穿戴AI视频分析功能AI布控球基于前端边缘AI计算及后端云平台计算,AI布控球集成人脸识别、安全帽识别等的AI视频图像分析算法,通过计算机视觉技术对图像、人脸、场景、视频等进行深度学习,识别并标示图像、场景、视频内容,并对自定义的行为、意图进行识别并预警。AI识别能力介绍:着装检测:针对施工区域的人员是否戴安全帽。人脸检测:针对施工区域的人员是否陌生人(黑名单)。行为检测:针对施工区域内人员是否吸烟。区域检测:针对规定的区域划线后检测是否在区域内或区域外。4G高清安全帽识别布控球,是一款便携式的集4G无线、远程视

    2022年5月19日
    57
  • 蚁群算法 matlab程序(已执行)

    蚁群算法 matlab程序(已执行)

    2021年12月15日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号