CocosCreate3.4屏幕点击点转换为节点坐标方法

今天用CocosCreate3.4做了个碰撞生产球测试,发现这个版本与之前版本在位置坐标转换上还是有些差异的,找了些方法最后做个总结:
3.4版本转化点击点坐标需要多加一个步骤:相机深度转换,具体方法如下:

其中event为节点注册事件回调:函数原型

node.on(Node.EventType.TOUCH_START,(event)=>{},this)

对获取事件进行转换

 // 屏幕坐标获取
 let scPos: Vec2 = event.getLocation();
 // 1、屏幕 - 先转换相机坐标 其中cameraUI是Camera摄像机节点 引入property类型为Camera
 let uipoint= this.cameraUI.screenToWorld(new Vec3(scPos.x, scPos.y, 0));
 // 2、转化为触摸点本地坐标 UIcanvas为全局canvas
 let pos = this.UIcanvas.getComponent(UITransform).convertToNodeSpaceAR(uipoint)

最终获取pos即为你点击点的的本地坐标,set某个对象的position为pos即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值