2016-09-30 4 views
0

ich ein Spiel entwickeln, und ich möchte den Hintergrund haben, seine Sättigung über eine gewisse Zeit ändern, haben aber keine Ahnung, wie es geht ... So, hier ist mein Code:Wie ändert man eine SKSpriteNode Sättigung? - Swift

 var bg = SKSpriteNode() 
     bg.size = frame.size 
     bg.position = CGPoint(x: frame.midX, y: frame.midY) 
     bg.zPosition = -1000 
     bg.texture = SKTexture(imageNamed: "background") 
     bg.alpha = 0.5 

     addChild(bg) 

Danke vielmals !

Antwort

1

Sie können Hintergrund als Kindknoten eines SKEffectNode hinzufügen und dann einen Farbsteuerungsfilter als Effektknotenfilter erstellen. Wenn Sie den Wert kCIInputSaturationKey auf Werte unter 1 setzen, wird das Hintergrundbild entsättigt. Bei mehr als 1 wird der Hintergrund gesättigter.

var effectNode = SKEffectNode() 
effectNode.addChild(bg) 
effectNode.filter = CIFilter(name: "CIColorControls") 
effectNode.filter?.setValue(0.1, forKey: kCIInputSaturationKey) 
Verwandte Themen