获取一个节点相对另一个点的坐标,要转换两次?

假设有 Canvas / Player / ABC / 123;要获取【123】相对于【Canvas】的坐标。
// 获取坐标 let v2 = this.canvas.convertToNodeSpaceAR( father.convertToWorldSpaceAR(cc.v2(123.x, 123.y)) // father是123的父节点 );
这样写貌似有效,先用convertToWorldSpaceAR将【123】转换为世界坐标,再用convertToNodeSpaceAR将世界坐标转换为相对目标节点的坐标。
貌似文档里没找到“相对坐标互相转换”的方法,只好转换两次,用世界坐标系来中转。但这种写法是正确的吗?有没有更简洁的方式?

没错,我也这么干
变量名是纯数字?看起来好奇怪

自己封装一下就好咯
export function p2p(from: cc.Node, to: cc.Node): any {
return from.parent.convertToNodeSpaceAR(
cc.v2(
to.convertToWorldSpaceAR(
cc.v2(0, 0)
)
)
)
}

我是这样用
cc.v2(cc.Canvas.instance.node.convertToNodeSpaceAR(this.123.convertToWorldSpaceAR(cc.v2(0, 0))))

哈哈,随便打出来演示的而已 :joy: