0

我正在尝试在场景中添加一个 SKShapeNode,但如果我使用它:

let rect = SKShapeNode(SKShapeNode(rect: CGRectMake(0, 0, 100, 100)))
self.addChild(rect)

此矩形添加到最后一层并与其他节点重叠。那么,如何在第一层添加呢?

提前致谢

4

1 回答 1

1

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)
于 2014-09-04T17:31:56.543 回答