Cocos Creator Touch事件与Unity3D Touch事件

本文对比了Cocos Creator和Unity3D中的Touch事件处理方式。Cocos Creator的Touch事件与Node节点关联,包括TOUCH_START、TOUCH_MOVE、TOUCH_END和TOUCH_CANCEL四种类型。而Unity3D的Touch事件是全局的,与特定节点无关,可通过Input获取,并有第三方插件如EasyTouch进行封装。Cocos中节点单独处理事件,Unity3D需自行记录处理。此外,Cocos的TOUCH_MOVE仅在手指移动时触发,长按需设定阈值,Unity3D的TouchPhase属性则能详细区分Touch状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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事件的ID
 event.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事件的ID
 event.getLocation(); //Touch事件的手指位置
 event.getLocationX(); //获取X轴位置
 event.getLocationY();	//获取触点的 Y 轴位置
 event.getPreviousLocation();	//获取触点上一次触发事件时的位置对象,对象包含 x 和 y 属性
 event.getStartLocation(); 	//获取触点初始时的位置对象,对象包含
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值