2017-04-16 3 views
1

Je veux créer un Sprite qui a une valeur alpha et qui se trouve au-dessus de certains autres nœuds.Créer un SKSpriteNode qui estompe les nœuds ci-dessous

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

Mon intention est d'ajouter un effet visuel au nœud « blurredOverlay » de sorte que seuls les noeuds qui sont chevauchées par ce nœud montrent l'effet de flou?

Toute personne ayant une idée?

Répondre

1

Cette réponse prendre et modifier le code de: Add glowing effect to an SKSpriteNode

Pour que vous solution:

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) 

Exemple: (Up arbre un blurredOverlay)

enter image description here

Sur l'exemple, les images "objets" et "superposition" sont la même image.