创建一个模糊下面节点的SKSpriteNode

时间:2017-04-16 21:00:47

标签: swift3 sprite-kit uiblureffect

我想创建一个具有alpha值的Sprite,并且位于其他一些节点之上。

let objects = SKSpriteNode(imageNamed: "objects")
let blurredOverlay = SKSpriteNode(imageNamed: "overlay")
addChild(objects)
addChild(blurredOverlay)

我的目的是为'blurOverlay'节点添加视觉效果,以便只有与此节点重叠的节点才会显示模糊效果?

有想法的人吗?

1 个答案:

答案 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)

enter image description here

在示例图像"对象"和" overlay"是相同的形象。