在网络上找不到,如何使 SKLabelNode 裁剪 SKShapeNode。当我给背景上色时,我的目标是用同样的方法给标签上色,所以它们都必须同时上色。但是无法想象如何用这个标签裁剪 SKShapeNode。请帮帮我!
问问题
466 次
1 回答
1
但是无法想象如何用这个标签裁剪 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)
}
结果:
于 2016-03-14T15:32:46.103 回答