Cocos Creator Touch 事件

cc.Node 有一套完整的事件监听和分发机制。在这套机制之上,提供了一些基础的节点相关的系统事件。因此,在cocos creator中touch事件是与Node节点息息相关的。

// 使用枚举类型来注册
node.on(cc.Node.EventType.TOUCH_START, function (event) {console.log('Touch Start');event.getID(); //Touch事件的IDevent.getLocation(); //Touch事件的手指位置event.getLocationX(); //获取X轴位置event.getLocationY(); //获取触点的 Y 轴位置event.getPreviousLocation();   //获取触点上一次触发事件时的位置对象,对象包含 x 和 y 属性event.getStartLocation();   //获取触点初始时的位置对象,对象包含 x 和 y 属性event.getDelta();    //获取触点距离上一次事件移动的距离对象,对象包含 x 和 y 属性
}, this);// 使用事件名来注册
node.on('touchstart', function (event) {console.log('Touch Start');event.getID(); //Touch事件的IDevent.getLocation(); //Touch事件的手指位置event.getLocationX(); //获取X轴位置event.getLocationY();    //获取触点的 Y 轴位置event.getPreviousLocation();   //获取触点上一次触发事件时的位置对象,对象包含 x 和 y 属性event.getStartLocation();   //获取触点初始时的位置对象,对象包含 x 和 y 属性event.getDelta();    //获取触点距离上一次事件移动的距离对象,对象包含 x 和 y 属性
}, this);

系统提供的触摸事件类型如下:

  • cc.Node.EventType.TOUCH_START ‘touchstart’ 当手指触点落在目标节点区域内时
  • cc.Node.EventType.TOUCH_MOVE ‘touchmove’ 当手指在屏幕上目标节点区域内移动时
  • cc.Node.EventType.TOUCH_END ‘touchend’ 当手指在目标节点区域内离开屏幕时
  • cc.Node.EventType.TOUCH_CANCEL ‘touchcancel’ 当手指在目标节点区域外离开屏幕时

Unity3D Touch 事件

Unity3D中Touch事件是以屏幕为基准的,与某个节点无关,全局的Touch事件都统计在Input中,
可以在update 中监听事件,Unity3D商店中有不少再次封装的Touch事件插件,比如EasyTouch。示例代码来自官方文档

void Update(){// Handle screen touches.if (Input.touchCount > 0){Touch touch = Input.GetTouch(0);// Move the cube if the screen has the finger moving.if (touch.phase == TouchPhase.Moved){Vector2 pos = touch.position;pos.x = (pos.x - width) / width;pos.y = (pos.y - height) / height;position = new Vector3(-pos.x, pos.y, 0.0f);// Position the cube.transform.position = position;}if (Input.touchCount == 2){touch = Input.GetTouch(1);if (touch.phase == TouchPhase.Began){// Halve the size of the cube.transform.localScale = new Vector3(0.75f, 0.75f, 0.75f);}if (touch.phase == TouchPhase.Ended){// Restore the regular size of the cube.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f);}}}}

区别

  1. Cocos中Touch以节点为中心,每个节点自己单独处理事件,全局检测可以通过制作一个全屏的Node节点,注册监听Touch事件;Unity3D中把Touch事件作为一种全局输入事件,如果想分开节点处理只能自行记录处理;
  2. Cocos中的TOUCH_MOVE只有手指移动时才能监听到,判断长按事件时,最好设置阈值,因为手指不像鼠标那样精确;Unity3D种每个Touch都有一个TouchPhase属性,通过这个属性判断Touch所处的阶段,所以在Unity3D种的TouchMove是不管手指有没有移动都会有事件。

创建了一个小游戏交流群,加群或者有问题交流 可以加我微信 备注“微信小游戏”

推广一下自己做的简单的小游戏

Cocos Creator Touch事件与Unity3D Touch事件相关推荐

  1. cocos creator 实现截屏截图切割转成 base64分享--facebook小游戏截图base64分享,微信小游戏截图分享【白玉无冰】每天进步一点点

    facebook小游戏分享的时候要传图片的base64码这个参数,有时需求是要截屏分享,让我们一起探索如何截屏吧. 何时截屏 我们要在游戏渲染完一次后截屏,cocos creator 提供了cc.Di ...

  2. 触控的手牌—Cocos Creator

    触控的手牌-Cocos Creator 科普 Cocos Creator是触控最新一代游戏工具链的名称.如果不太清楚的,可以先看一些新闻. 新编辑器Cocos Creator发布: 对不起我来晚了! ...

  3. 【COCOS CREATOR 系列教程之二】脚本开发篇事件监听、常用函数等示例整合

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/cocos-creator/1959.htm ...

  4. Android之滑动事件冲突解决 Touch事件处理机制总结

    android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解.  一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN- ...

  5. 游戏开发-cocos creator技巧-cc.Component.EventHandler自定义click事件

    cocos creator有两种给按钮注册click事件的方式, EventHandler的方式虽然有点麻烦,但是比较灵活,使用时候注意每个参数必须填写正确,否则click时候会报null的错误 第一 ...

  6. Android 中Touch(触屏)事件传递机制

    版本:2.0 日期:2014.3.21 2014.3.29 版权:© 2014 kince 转载注明出处 一.基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突.比如在使 ...

  7. js实现touch移动触屏滑动事件

    在开始描述touch事件之前,需要先描述一下多触式系统中特有的touch对象(android和iOS乃至nokia最新的meego系统都模拟了类 似的对象).这个对象封装一次屏幕触摸,一般来自于手指. ...

  8. slider节点透明背景_【Cocos Creator 实战教程(1)】——人机对战五子棋(节点事件相关)...

    一.涉及知识点 场景切换 按钮事件监听 节点事件监听 节点数组 循环中闭包的应用 动态更换sprite图片 定时器 预制资源 二.步骤 2.1 准备工作 首先,我们要新建一个空白工程,并在资源管理器中 ...

  9. Cocos Creator 判断Touch位置在节点(Node)内

    cocos Creator2.01 没有cc.rectContainsPoint api了 cocos creator 2.0.1之后使用如下方法 onLoad(){this.node.on(&quo ...

最新文章

  1. 需要注意AT24Cxx和BL24Cxx引脚不一样
  2. i5 11300H和i5 10300H 的区别
  3. 【渝粤题库】国家开放大学2021春2757宠物饲养题目
  4. [转载]ubuntu 12.10 软件源更新列表
  5. 自然语言处理中的语言模型与预训练技术的总结
  6. 包云岗:伯克利科研模式的启发
  7. Dos命令tasklisttaskkill强大命令
  8. 2019澳门理工计算机作品决赛,我校学子在2019年泛珠三角+大学生计算机作品赛总决赛中斩获佳绩...
  9. android 自动更新apk版本
  10. Windows验证字符串
  11. c语言源代码如何读取打开文件,C语言读取文件
  12. python批量修改文件夹名称,简洁快捷
  13. Scrapy-2:东莞阳光政务平台
  14. 服务器------scp命令上传文件到服务器
  15. [ Linux ] 零散文件系统安装各种命令和软件的方法
  16. 微信小程序——API promise化,全局数据共享,MobX,将Stroe中的成员绑定到页面中,在页面上使用Strore中的成员
  17. 腾讯企业邮箱:授权密码
  18. 【Linux指令①】新手必须掌握的Linux指令
  19. mysql 打开mdf文件怎么打开_mdf 数据库文件怎么打开
  20. 让电脑不被锁屏的方法,亲测有效

热门文章

  1. 任务管理器,win7的,显示不全
  2. 【arduino之RGB灯模块】RGB化身彩虹灯?一块钱包邮能玩一天!
  3. Linux删除文件或目录
  4. 简单的VGA字符模式驱动(二)
  5. 互联网:疫情之下,哪些行业能保命
  6. 当前钢材供需形势详细分析
  7. 钢材现货报价继续下跌
  8. FireWork 团队项目
  9. linux安装redis5.0
  10. 共赴技术“狂飙”之旅丨第二届开源云原生开发者日开启预约!