我在我的 sks 文件中添加了几个节点,现在我想向最低节点添加一些掩码SKSpriteNode
。结构如下图:
在哪里
- 绿色 - wordInfoHolder
- 红色 - 标签容器
- whiteText - 标签
现在我想隐藏以红色显示的部分。为了执行这样的操作,我读到了SKCropNode
可以使用的。
我能够在场景文件中找到我的所有节点并将它们保存到变量中。
if let holder = childNode(withName: "wordInfoHolder") as? SKSpriteNode {
wordInfoHolder = holder
if let wordSwitchNode = wordInfoHolder?.childNode(withName:"wordSwitchNode") as? SKSpriteNode {
self.wordSwitchNode = wordSwitchNode
if let label = self.wordSwitchNode?.childNode(withName:"infoLabel") as? SKLabelNode {
wordSwitchLabelNode = label
}
}
}
所有 3 个对象均已存储且正确。
现在我想为根对象添加一些掩码。
为此,我准备了蒙版图像:
并尝试执行以下操作:
guard let holder = wordInfoHolder else { return }
let positionToSet = holder.position
let mask = SKSpriteNode(imageNamed: "rectangle_mask")
let cropNode = SKCropNode()
holder.removeFromParent()
cropNode.addChild(holder)
cropNode.maskNode = mask
cropNode.position = positionToSet
self.addChild(cropNode)
但我什么也没看到。我希望看到绿色部分SKSpriteNode
。
做错了什么?