我想创建一个具有alpha值的Sprite,并且位于其他一些节点之上。
let objects = SKSpriteNode(imageNamed: "objects")
let blurredOverlay = SKSpriteNode(imageNamed: "overlay")
addChild(objects)
addChild(blurredOverlay)
我的目的是为'blurOverlay'节点添加视觉效果,以便只有与此节点重叠的节点才会显示模糊效果?
有想法的人吗?
答案 0 :(得分:1)
此答案接受并修改了以下代码:Add glowing effect to an SKSpriteNode
为您解决方案:
Swift 3
let objects = SKSpriteNode(imageNamed: "objects")
let blurredOverlay = SKSpriteNode(imageNamed: "overlay")
let effectNode = SKEffectNode()
effectNode.shouldRasterize = true
effectNode.zPosition = 1
effectNode.alpha = 0.5
effectNode.addChild(SKSpriteNode(texture: blurredOverlay.texture))
effectNode.filter = CIFilter(name: "CIGaussianBlur", withInputParameters: ["inputRadius":30])
objects.addChild(effectNode)
addChild(objects)
示例:(向上树有一个blurOverlay)
在示例图像"对象"和" overlay"是相同的形象。