CocosCreator TOUCH_MOVE事件
- 注册事件
- 在onDestroy里注销本事件
onLoad() {this.node.on(cc.Node.EventType.TOUCH_MOVE, this._touchMove, this);
}protected onDestroy(): void {this.node.off(cc.Node.EventType.TOUCH_MOVE, this._touchMove, this);
}
- 绑定的事件,里面可以获取到的一些参数
private _touchMove(e) {console.log(e.getPreviousLocation());
}
重点在这里:执行结果,可见右侧console里有非常多的执行结果,而这只是移动一小段所触发的。
touch move会在触摸移动时不断执行,每移动一点点都会执行一次。
可以利用每次移动得到的各种信息(如位置信息等)来进行一些判断和操作。
换一种尝试:
private _touchMove(e) {console.log(e.getDelta().x, e.getDelta().y);
}
- 运行结果:
官方文档及API
触摸事件类型和事件对象
触摸事件在移动平台和桌面平台都会触发,这样做的目的是为了更好得服务开发者在桌面平台调试,只需要监听触摸事件即可同时响应移动平台的触摸事件和桌面端的鼠标事件。系统提供的触摸事件类型如下:
枚举对象定义 | 对应的事件名 | 事件触发的时机 |
---|---|---|
cc.Node.EventType.TOUCH_START | touchstart | 当手指触点落在目标节点区域内时 |
cc.Node.EventType.TOUCH_MOVE | touchmove | 当手指在屏幕上移动时 |
cc.Node.EventType.TOUCH_END | touchend | 当手指在目标节点区域内离开屏幕时 |
cc.Node.EventType.TOUCH_CANCEL | touchcancel | 当手指在目标节点区域外离开屏幕时 |
触摸事件(cc.Event.EventTouch)的重要 API 如下(cc.Event 标准事件 API 除外):
API 名 | 类型 | 意义 |
---|---|---|
touch | cc.Touch | 与当前事件关联的触点对象 |
getID | Number | 获取触点的 ID,用于多点触摸的逻辑判断 |
getLocation | Object | 获取触点位置对象,对象包含 x 和 y 属性 |
getLocationX | Number | 获取触点的 X 轴位置 |
getLocationY | Number | 获取触点的 Y 轴位置 |
getPreviousLocation | Object | 获取触点上一次触发事件时的位置对象,对象包含 x 和 y 属性 |
getStartLocation | Object | 获取触点初始时的位置对象,对象包含 x 和 y 属性 |
getDelta | Object | 获取触点距离上一次事件移动的距离对象,对象包含 x 和 y 属性 |
需要注意的是,触摸事件支持多点触摸,每个触点都会发送一次事件给事件监听器。
CocosCreator TOUCH_MOVE事件相关推荐
- Egret 学习笔记
1.纹理集实际上就是将一些零碎的小图放到一张大图当中.游戏中也经常使用到纹理集.使用纹理集的好处很多,我们通过将大量的图片拼合为一张图片从而减少网络请求,原先加载数次的图片资源现在加载一次即可.同时, ...
- 蚂蚁庄园运动会登山赛!3d项目入门实战!Cocos Creator 3D!
好像没写过3d项目分享,那么就跟着蚂蚁庄园的小鸡一起跳跳跳吧! 效果预览 配置环境: cocos creator 3D 1.0.0 首先是寻找3d资源花费了大半天时间,开发3d游戏不易呀!最终还是向K ...
- CreatorPrimer | 飞机大战(一)
前两天在Cocos官方公众号上学习了「大掌教」的Cocos Creator 2.x Camera教程,总算是对摄像机组件有了一个初步的认识.乘热打铁,Shawn即刻就使用Camera摄像机练习了一个飞 ...
- CocosCreator-3D 拖动卡片放置3d物体
版本号:3.4.1 原理 创建2dui卡片 2dui卡片上绑定脚本(card) card脚本上绑定要放置的物体 通过触摸2d的ui卡片,监听TOUCH_MOVE事件,获得当前触摸的卡片,可触摸位置 通 ...
- 用haXe+NME实现水果忍者的刀光效果,支持多点触摸,Flash10, Android通用
前两天玩了玩水果忍者,感觉这种输入方式是非常适合多点触摸屏的,输入直观而且爽快感十足,于是就想到了如何使用haxe+NME实现刀光的效果,今天按照我的想法把效果实现了,感觉还是很逼真的.估计即使不是水 ...
- Cocos Creator 3D 蚂蚁庄园系列技术分享
编者按 "游戏开发小赤佬,也玩 python 和 shell" 白玉无冰是"Cocos 荣耀讲师"征稿活动第1期的获奖作者之一,除了征稿作品<用摄像机实现 ...
- cocos creator | 用摄像机实现残影幻影拖尾效果
超级幻影了解一下? 基本原理 利用摄像机拍摄角色,然后投影到多个显示画布,给画布节点设置不同的透明度,最后让画布节点跟随角色移动. 创建角色和摄像机 创建一个新的typescript项目. 创建一个角 ...
- cocos creator | 用摄像机实现残影幻影拖尾效果,camera 教学,【白玉无冰】每天进步一点点
超级幻影了解一下? 基本原理 利用摄像机拍摄角色,然后投影到多个显示画布,给画布节点设置不同的透明度,最后让画布节点跟随角色移动. 创建角色和摄像机 创建一个新的typescript项目. 创建一个角 ...
- 笔记十三 :Egret拖拽对象与吸附对象(基于通用MVC框架)
前言:拖拽对象是2D游戏中常用的一个功能,例如<植物大战僵尸>中种植植物的表现形式,拖拽植物卡片种植到相应的地点. 思路:在Egret中实现拖拽对象,需要用到TOUCH_MOVE事件的监听 ...
最新文章
- Caffe 关于 LetNet-5 之 lenet_train_test.prototxt 解析
- μC/OS-I移植需要编写的文件
- 类不能直接通过import得到
- 入微:探究文档中找不到的12c并行索引扫描新特性
- 2020年书法落款_书法落款的基本常识
- hdu4135容斥原理 组合遍历
- 【Linux】Shell 时间运算以及时间差计算方法!
- 【图像增强】基于matlab HSI+同态滤波彩色图像增强【含Matlab源码 1515期】
- python自己制作视频_你还在为看电影发愁?Python制作全网视频播放工具!
- cad剖切线的快捷键_CAD中剖面线如何画
- 《机器人爱好者(第1辑)》——机器人和人工智能
- python旋转图片
- Vue教程-可视化图表
- Linux 内核 vs Windows 内核
- 定制约玩软件、开发陪玩系统,需要多少钱?
- 服务器双路供电原理,双路电源上电顺序控制电路原理图
- DecoupleSegNets学习总结
- 基于MATLAB的GMSK调制解调系统的设计仿真
- Power oj 2781: 上决╇ф的黑科技 (任意模数NTT|拆系数FFT)
- 微信支付 SpringCloud+Vue