我正在尝试在场景中添加一个 SKShapeNode,但如果我使用它:
let rect = SKShapeNode(SKShapeNode(rect: CGRectMake(0, 0, 100, 100)))
self.addChild(rect)
此矩形添加到最后一层并与其他节点重叠。那么,如何在第一层添加呢?
提前致谢
我正在尝试在场景中添加一个 SKShapeNode,但如果我使用它:
let rect = SKShapeNode(SKShapeNode(rect: CGRectMake(0, 0, 100, 100)))
self.addChild(rect)
此矩形添加到最后一层并与其他节点重叠。那么,如何在第一层添加呢?
提前致谢
zPosition
您需要设置SKNode
. 从文档:
默认值为 0.0。正 z 轴向观察者投影,因此 z 值较大的节点更靠近观察者。渲染节点树时,会计算每个节点的高度(以绝对坐标表示),然后将树中的所有节点从最小 z 值渲染到最大 z 值。如果多个节点共享相同的 z 位置,则对这些节点进行排序,以便在其子节点之前绘制父节点,并且按照它们在父节点的子数组中出现的顺序呈现兄弟节点。命中测试以相反的顺序处理。
SKView 类的 ignoresSiblingOrder 属性控制是否为同一 z 位置的节点启用节点排序。
由于您似乎希望您的rect
节点位于其他节点之下,并且由于默认zPosition
值为0.0
,请尝试将其设置为-1.0
:
let rect = SKShapeNode(SKShapeNode(rect: CGRectMake(0, 0, 100, 100)))
rect.zPosition = -1.0
self.addChild(rect)