ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CocosCreator TOUCH_MOVE事件

2021-12-09 19:04:33  阅读:170  来源: 互联网

标签:Node cc 触点 MOVE 触摸 CocosCreator 事件 TOUCH


  • 注册事件
  • 在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_STARTtouchstart当手指触点落在目标节点区域内时
cc.Node.EventType.TOUCH_MOVEtouchmove当手指在屏幕上移动时
cc.Node.EventType.TOUCH_ENDtouchend当手指在目标节点区域内离开屏幕时
cc.Node.EventType.TOUCH_CANCELtouchcancel当手指在目标节点区域外离开屏幕时

触摸事件(cc.Event.EventTouch)的重要 API 如下(cc.Event 标准事件 API 除外):

API 名类型意义
touchcc.Touch与当前事件关联的触点对象
getIDNumber获取触点的 ID,用于多点触摸的逻辑判断
getLocationObject获取触点位置对象,对象包含 x 和 y 属性
getLocationXNumber获取触点的 X 轴位置
getLocationYNumber获取触点的 Y 轴位置
getPreviousLocationObject获取触点上一次触发事件时的位置对象,对象包含 x 和 y 属性
getStartLocationObject获取触点初始时的位置对象,对象包含 x 和 y 属性
getDeltaObject获取触点距离上一次事件移动的距离对象,对象包含 x 和 y 属性

需要注意的是,触摸事件支持多点触摸,每个触点都会发送一次事件给事件监听器。

标签:Node,cc,触点,MOVE,触摸,CocosCreator,事件,TOUCH
来源: https://blog.csdn.net/qq_36286039/article/details/121839668

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有