cocos3.0中mousedown获取的坐标如何转换为本地坐标?

想开发一个2d游戏。目前坐标方面有点冲突。
1.graphics组件画线时,它自动使用的是以画布中心点为原点的坐标系。
2.但是,mousedown获取的坐标为以画布左下角为原点的坐标系,并且mousedown用getLocation获取的数据是vec2类型。
3.而当我调用UITransform的convertToNodeSpaceAR转换这个坐标的时候,发现只能使用vec3类型数据进行转换。
不知道有哪位大神能指点一下
我如何把mousedown的坐标转换为画布中心点为原点的坐标系坐标?
或者
让graphics画线的时候,使用以画布左下角为原点的坐标系坐标?

比如你 touch 到屏幕中间, getLocation返回的是(w/2,h/2),但是你想画到画布中心(0,0)处,那你对getLocation的返回值减去(w/2,h/2)不就可以了吗

v3(location.x,locztion.y,0)转换为节点坐标系坐标

谢谢您的回复。我目前采用的办法,是把vec2转为vec3.也就是z轴坐标为0.x和y坐标不变。之后再把转换后的vec3内的x和y拿出来用

谢谢回复,我后来采用了这个方法

使用 getUILocation api就可以了
let getUILocation = e.getUILocation()
.parent?.getComponent(UITransform)?.convertToNodeSpaceAR(new Vec3(getUILocation.x, getUILocation.y, 0));
这样 就可以获取到坐标了

3赞