正如m.ding所说... parent->ConvertToNodeSpace() .....
这是给你的解释,所以你知道什么时候该做什么?
convertToWorldSpace(const CCPoint& nodePoint) 将节点上的坐标转换为 SCREEN 坐标。让我们将带有锚点和位置 (0,0) 的 layerA 附加到屏幕上,并在该图层上的点 (100, 100) 处有一个精灵。精灵的屏幕坐标是什么?- (100, 100)
让我们将 layerA 移动到点 (- 50, - 20)。精灵的屏幕坐标是什么?- (100 - 50, 100 - 20),即 (50, 80) - 如果我们调用 layerA->convertToWorldSpace(ccp(100, 100)),这就是 convertToWorldSpace 返回给我们的内容。
至于 convertToWorldSpaceAR - 将位置相关地返回到锚点:所以如果我们的场景 - 根层有 AP (0.5f, 0.5f) - 默认值,convertToWorldSpaceAR 应该返回相对于屏幕中心的位置。我用过 convertToNodeSpace
convertToNodeSpace(const CCPoint& worldPoint) - 将 SCREEN 坐标转换为 NODE 的本地坐标。即,如果对于我们的移动层调用示例: layerA->convertToNodeSpace(ccp(50, 80)) - 应该返回 (100, 100) - 我们的 sprite 节点坐标。
convertToNodeSpaceAR - 与 convertToWorldSpaceAR 相同的逻辑