
假设:::
紫色是 爷爷Node
蓝色是 父Node
红色是 子Node
设红色圆的坐标是: x = 20, y -20,
请问如何才能得到,红色圆在紫色爷爷Node中的坐标呀。
求解!! 感谢。。

假设:::
紫色是 爷爷Node
蓝色是 父Node
红色是 子Node
设红色圆的坐标是: x = 20, y -20,
请问如何才能得到,红色圆在紫色爷爷Node中的坐标呀。
求解!! 感谢。。
看看这俩API:
convertToWorldSpaceAR
convertToNodeSpaceAR
不瞒你说, 我都试过了。
console.log(红色圆.convertToNodeSpaceAR(蓝色夫Node.position));
console.log(红色圆.convertToNodeSpace(蓝色夫Node.position));
console.log(红色圆.convertToWorldSpace(蓝色夫Node.position));
console.log(红色圆.convertToWorldSpaceAR(蓝色夫Node.position));
console.log(红色圆.convertToNodeSpaceAR(紫色爷爷Node.position));
console.log(红色圆.convertToNodeSpace(紫色爷爷Node.position));
console.log(红色圆.convertToWorldSpace(紫色爷爷Node.position));
console.log(红色圆.convertToWorldSpaceAR(紫色爷爷Node.position));
console.log(蓝色夫Node.convertToNodeSpaceAR(红色圆.position));
console.log(蓝色夫Node.convertToNodeSpace(红色圆.position));
console.log(蓝色夫Node.convertToWorldSpace(红色圆.position));
console.log(蓝色夫Node.convertToWorldSpaceAR(红色圆.position));
console.log(紫色爷爷Node.convertToNodeSpaceAR(红色圆.position));
console.log(紫色爷爷Node.convertToNodeSpace(红色圆.position));
console.log(紫色爷爷Node.convertToWorldSpace(红色圆.position));
console.log(紫色爷爷Node.convertToWorldSpaceAR(红色圆.position));
名字方便理解,就是都试了一遍,坐标都不对。。。
在Creator编译器中 把 红色圆 从蓝色Node, 拖拽到 紫色节 点下。 红色圆的坐标发生变化是正确的。 就是不知道代码怎么写的。
父节点坐标+子节点的坐标 = 爷爷节点的坐标
var worldPos = 红色子Node.convertToWorldSpaceAR(cc.v2(0, 0));
紫色Node.convertToNodeSpaceAR(worldPos); // 这个得到的就是红色圆再紫色节点中的坐标
紫色爷爷Node.convertToNodeSpaceAR(蓝色夫Node.convertToWorldSpaceAR(红色圆.position))
翻译:
你对世界坐标和本地坐标的理解有问题.
世界坐标指的是一个唯一的指定的坐标系下坐标.
本地坐标指的是以当前节点的原点(anchor)为(0,0)点的坐标系.
你的答案是正确的!!!
非常感谢你的回答。 也感谢大家的帮助,教会我理解坐标的转换,最少救了我一天。