Reputation: 36013
What effect addChild and zPosition really have on a scene?
I mean this: suppose I do this
sprite1.zPosition = 50;
sprite2.zPosition = 10;
sprite3.zPosition = 30;
and later do this
[self addChild:sprite1];
[self addChild:sprite2];
[self addChild:sprite3];
according to SpriteKit and considering zPosition order, sprite1 should be rendered over sprite3 over sprite2 but spriteKit ignores that and renders 3 over 2 over 1.
am I missing something?
Upvotes: 11
Views: 4859
Reputation: 1680
In your game view controller, set the ignoresSiblingOrder property to false (or NO in objective-C).
let skView = self.view as SKView
skView.ignoresSiblingOrder = false
Upvotes: 6
Reputation: 3102
If they have the same parent that would be true. In case they can different parents, the z order of parents is also taken into account.
The standard behavior for scene rendering follows a simple pair of rules:
When you take z positions into account, here is how the node tree is rendered:
You can find it well explained here under Understanding the Drawing Order for a Node Tree
Upvotes: 16