2016-09-30 3 views
0

я разрабатываю игру, и я хотел бы, чтобы фон изменить его насыщенность в течение определенного периода времени, но не имеют ни малейшего представления о том, как это сделать ... Так вот мой код:Как изменить насыщенность SKSpriteNode? - 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) 

Большое спасибо !

ответ

1

Вы можете добавить фон в качестве дочернего узла SKEffectNode, а затем установить в качестве фильтра узла эффекта фильтр цветных элементов управления. Установка значений kCIInputSaturationKey в значения, меньшие единицы, приведет к тому, что фоновое изображение будет ненасыщенным, больше одного приведет к тому, что фон станет более насыщенным.

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

 Смежные вопросы

  • Нет связанных вопросов^_^