当前位置: 首页 > news >正文

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://www.cnblogs.com/gcczhongduan/p/4265572.html

相关文章:

  • JQuery上传插件Uploadify API详解
  • c#鼠标在控件上面,然后显示文字
  • 什么是 ADO.NET?
  • [leetcode] Multiply Strings
  • 微信公众平台开发学习笔记1--验证服务器地址的有效性
  • jquery uploadify上传文件插件导致浏览器崩溃问题解决方法
  • Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-5-6 踩踏平台是怎么炼成的
  • FireDAC 之FDMetaInfoQuery
  • GIT操作笔记
  • DevExpress随笔系列
  • 4.2 HTML Canvas标签
  • java对象占用内存大小计算方式
  • iOS开发之oc(六)--点语法
  • Sample SecondarySort 浅析
  • 导入项目时Loading descriptor ...
  • HTTP--网络协议分层,http历史(二)
  • JavaScript 基本功--面试宝典
  • Just for fun——迅速写完快速排序
  • MySQL用户中的%到底包不包括localhost?
  • python3 使用 asyncio 代替线程
  • spring-boot List转Page
  • Vue组件定义
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 电商搜索引擎的架构设计和性能优化
  • 解析带emoji和链接的聊天系统消息
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 深度学习入门:10门免费线上课程推荐
  • 微服务入门【系列视频课程】
  • 一起参Ember.js讨论、问答社区。
  • 在Mac OS X上安装 Ruby运行环境
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​人工智能书单(数学基础篇)
  • (1)bark-ml
  • (done) 两个矩阵 “相似” 是什么意思?
  • (js)循环条件满足时终止循环
  • (层次遍历)104. 二叉树的最大深度
  • (分类)KNN算法- 参数调优
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (七)理解angular中的module和injector,即依赖注入
  • (五)c52学习之旅-静态数码管
  • (一)u-boot-nand.bin的下载
  • (转)Linq学习笔记
  • .naturalWidth 和naturalHeight属性,
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .net framework 4.0中如何 输出 form 的name属性。
  • .Net7 环境安装配置
  • .net中调用windows performance记录性能信息
  • .net中我喜欢的两种验证码
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解