尝试监听节点的触摸事件,获取触摸位置
发现event.touch.getUILocation()获取到的是世界坐标,而且node也不再有convertToNodeSpace()接口了
进过多翻查找没找到可以转换的api
但是找到了node.setWorldPosition()和node.getPosition(),也就是说setWorldPosition里面一点做了相关转换使得getPosition可以得到一个节点坐标
查看源码后得出下面的转换方式:
const touch = event.touch.getUILocation();
const wordPoint = v3(touch.x, touch.y, 0);
const nodePoint = v3(0,0,0);
Vec3.transformMat4(nodePoint, wordPoint, Mat4.invert(m4_1, this.node['_mat']));