convertToNodeSpace、convertToWorldSpace,都是以参照物的坐下角作为坐标点原点,向右和向上创建坐标系。
------------------------------convertToNodeSpace,获得的坐标相对于参照物的坐标。
------------------------------convertToWorldSpace,获得的坐标是参照物所在的坐标系中的坐标,即转换到参照物的世界坐标。
convertToNodeSpaceAR、convertToWorldSpaceAR,是以参照物的锚点为原点,向右、向上创建坐标系。
------------------------------convertToNodeSpaceAR,获得的坐标相对于参照物的坐标(此时坐标系的原点在参照物的锚点)。
------------------------------convertToWorldSpaceAR,获得的坐标是参照物所在的坐标系中的坐标,即转换到参照物的世界坐标(此时坐标系的原点在参照物的锚点)。
这样理解比较简单写,有AR的是以参照物的锚点作为新建坐标系的原点,没有AR的是以参照物的左下角作为新建坐标系的原点。
node.convertToNodeSpaceAR(pos) 得到pos这个点在node上的相对位置pos为世界坐标
node.convertToWorldSpaceAR(pos) 得到node上的点pos的世界坐标
不论一个节点有几个父节点,要得到它的世界坐标,可以有如下方法:
let worldPos = node.convertToWorldSpaceAR(cc.vec2(0, 0)) 得到node的世界坐标。
要得到节点node在节点node1上的相对坐标,万能方法如下:
let worldPos = node.convertToWorldSpaceAR(cc.vec2(0, 0)) 得到node的世界坐标。
let nodePos = node1.convertToNodeSpaceAR(worldPos) 得到node在节点node1的相对坐标。