Ios7 查找子节点的绝对位置?

Ios7 查找子节点的绝对位置?,ios7,sprite-kit,sknode,Ios7,Sprite Kit,Sknode,我有一个SKSpriteNode,它是滚动背景的父对象(即子对象)。SKSpriteNode不会自行移动,它只是随着滚动背景移动。当背景移动时,找到SKSpriteNode绝对位置的最佳方法是什么 CGPoint positionInScene = [self.scene convertPoint:self.position fromNode:self.parent]; 但是,convertP

我有一个SKSpriteNode,它是滚动背景的父对象(即子对象)。SKSpriteNode不会自行移动,它只是随着滚动背景移动。当背景移动时,找到SKSpriteNode绝对位置的最佳方法是什么

CGPoint positionInScene = [self.scene convertPoint:self.position 
                                                  fromNode:self.parent];
但是,
convertPoint:fromNode:
非常昂贵,尤其是在
update
方法中使用它时。我宁愿将
childNode
x
位置添加到
parentNode
x
位置:

CGFloat xPosition = self.position.x + self.parent.position.x;

谢谢你,Andrey,我之前在做你提到的添加,但我想说的是:toNode:我会看得更清楚,让它工作起来。最终,我将采纳您的建议并使用add,因为我确实希望在更新中使用它。非常感谢。请不要在没有任何事实链接的情况下说“相当昂贵”之类的话(真实测量值),或者至少提到与备选方案(平均或最坏情况)相比,它的速度较慢的因素。问题是(不仅仅是)初学者通常会接受这样的建议,并尽可能避免使用这样的函数(根据传闻,过早优化)。当然,手动方式会快一点,但我怀疑它在几乎每个用例中都会有任何不同。添加这样的x位置并不能说明zRotation,但convertPoint可以说明zRotation。另外,第二种方式不会通过父链递归,所以它只适用于场景的节点子节点的节点子节点。