Swift 将SKLabelNode制作为SKShapeNode的裁剪节点

Swift 将SKLabelNode制作为SKShapeNode的裁剪节点,swift,sprite-kit,skshapenode,sklabelnode,skcropnode,Swift,Sprite Kit,Skshapenode,Sklabelnode,Skcropnode,在web上找不到,如何使SKLabelNode裁剪SKShapeNode。当我给背景上色时,我的目标是用同样的方法给标签上色,所以两者必须同时上色。但无法想象如何用这个标签裁剪SKShapeNode。请帮帮我 但无法想象如何用这个标签裁剪SKShapeNode 如果我理解正确,可以将SKLabelNode设置为SKCropNode的掩码,如下所示: override func didMoveToView(view: SKView) { backgroundColor = .bl

在web上找不到,如何使SKLabelNode裁剪SKShapeNode。当我给背景上色时,我的目标是用同样的方法给标签上色,所以两者必须同时上色。但无法想象如何用这个标签裁剪SKShapeNode。请帮帮我

但无法想象如何用这个标签裁剪SKShapeNode

如果我理解正确,可以将SKLabelNode设置为SKCropNode的掩码,如下所示:

override func didMoveToView(view: SKView) {

        backgroundColor = .blackColor()

        let cropNode = SKCropNode()
        cropNode.position = CGPoint(x: frame.midX, y: frame.midY)
        cropNode.zPosition = 1

        let mask = SKLabelNode(fontNamed: "ArialMT")
        mask.text = "MASK"
        mask.fontColor = .greenColor()
        mask.fontSize = 28

        cropNode.maskNode = mask


        let nodeToMask = SKSpriteNode(color: .purpleColor(), size: CGSize(width: 200, height: 200))
        nodeToMask.position = CGPoint(x: 0, y: 0)
        nodeToMask.name = "character"
        cropNode.addChild(nodeToMask)
        //Now colorize the sprite which acts like background
        let colorize = SKAction.sequence([
                SKAction.colorizeWithColor(.orangeColor(), colorBlendFactor: 0, duration: 1),
                SKAction.colorizeWithColor(.purpleColor(), colorBlendFactor: 0, duration: 1)
        ])

        nodeToMask.runAction(SKAction.repeatActionForever(colorize), withKey: "colorizing")

        addChild(cropNode)

}
结果是:


谢谢你的回答,@Whirlwind。但是,我的回答不正确,因为我的英语),很不幸。我想说vise versa,想用SKLabelNode裁剪SKShapeNode。例如,有一个矩形,我给它添加了一个SKLabelNode,但是我想用label裁剪这个形状,所以背景色必须通过这个形状显示出来。希望我解释清楚)