我对SKNode
方法convertPoint:fromNode:
和convertPoint:ToNode:
工作方式有点困惑,我查看了文档,但它们的作用并不明显。例如,这个(见下图)是我使用convertPoint:fromNode:
的一个小测试黑色区域是SKScene
背景,蓝色区域是 的SKSpriteNode
父级SKScene
,红色区域是SKSpriteNode
蓝色精灵的另一个父级。两个精灵的锚点由小绿点显示。我想做的是获取红色精灵的场景位置,我使用以下代码完成了这项工作:
CGPoint positionInScene = [self convertPoint:[self position]
fromNode:[self redSprite]];
结果是
positionInScene = [105, 205]
这是我所期望的,因为那将是场景空间中红色方块的起源。我感到困惑的是论点。据我猜测:
[SKNode_A convertPoint: CGPoint_B toNode: SKScene_C]
- SKNode_A = 要转换为的节点坐标空间 ...
- CGPoint_B =要转换的点(不知道为什么上面的[自身位置])
- SKNode_C = 要转换的节点坐标空间...
我最初的尝试是[self convertPoint:[redSprite position] fromNode:redSprite]
因为我想将红色精灵的来源转换为场景。让你的脑袋看起来有点笨拙,如果有人能对这件事和它的朋友投一点光和逻辑,convertPoint:toNode:
那将不胜感激。