赞
踩
今天用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即可
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。