我将两个 SKSpriteNodes 作为子节点添加到另一个 SKSpriteNode。代码如下所示:
let parentNode = SKSpriteNode(imageNamed: "ParentImage")
parentNode.position = CGPointMake(0,0)
parentNode.zPosition = 0
let child1 = SKSpriteNode(imageNamed: "ChildImage1")
child1.position = CGPointMake(0,0)
parentNode.addChild(child1)
child1.zPosition = -10
let child2 = SKSpriteNode(imageNamed: "ChildImage2")
child2.position = CGPointMake(0,0)
parentNode.addChild(child2)
child2.zPosition = 10
当我将 parentNode 添加到我的场景中时,z 平面中精灵的顺序从后到前是
- 父节点
- 孩子1
- 孩子2
有时,预期的
- 孩子1
- 父节点
- 孩子2
当子节点低于父节点时,zPosition 属性是否会被否决?有没有人遇到过这样的错误或知道修复?
在 GameViewController 中,skView.ignoresSiblingOrder = true
当我将其设置为 时false
,我每次都会得到第一个行为(parentNode、child1、child2)。