【问题标题】:How to change a SKSpriteNode saturation? - Swift如何更改 SKSpriteNode 饱和度? - 斯威夫特
【发布时间】:2016-09-30 13:15:13
【问题描述】:

我开发了一款游戏,我想让背景在一定时间内改变其饱和度,但不知道该怎么做......所以这是我的代码:

        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)

非常感谢!

【问题讨论】:

    标签: swift skspritenode


    【解决方案1】:

    您可以将背景添加为SKEffectNode 的子节点,然后设置创建颜色控件过滤器作为效果节点过滤器。将kCIInputSaturationKey 设置为小于 1 的值会导致背景图像不饱和,大于 1 会导致背景变得更加饱和。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多