Search code examples
ios7sprite-kitsknode

Finding absolute position of child SKNode?


I have an SKSpriteNode that is parented to (i.e. a child of) a scrolling background. The SKSpriteNode does not move itself, it just moves along with the scrolling background. What is the best way to find the absolute position of the SKSpriteNode as the background moves.


Solution

  • CGPoint positionInScene = [self.scene convertPoint:self.position 
                                                      fromNode:self.parent];
    

    However, convertPoint:fromNode: is pretty expensive, especially if you use it in update method. I'd rather just add childNode's x position to parentNode's x position:

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