有没有办法让整个场景,包括它的所有子节点(不仅仅是背景颜色)颜色更深?我正在寻找类似于此代码的效果:
node.color = SKColor.blackColor()
node.colorBlendFactor = 0.25
上面的代码将node
颜色加深,同时保持原始颜色(除了那些颜色只是更暗)和细节。
但是,据我所知,此代码不适用于场景,它只适用于SKSpriteNode
。有没有办法让整个场景变暗?答案可能是某种过滤器,一种特殊的场景着色方式,或者可能没有办法。一切都有帮助!
由于
答案 0 :(得分:3)
答案可能是某种过滤器......
事实上。虽然@TrentSartain's answer非常实用,但并不是唯一的方法。 SKScene
继承自SKEffectNode
,因此您可以将核心图像滤镜(或滤镜链)应用于整个场景,以此作为使其变暗或添加其他视觉效果的方法。
一旦进入Core Image filters,您就拥有了各种变暗选项 - 例如,您可以将参数变为CIExposureAdjust
而不是CIToneCurve
。或者你可以组合几个滤镜,所以你的场景(例如)会变暗,灰度变暗,模糊不清。
注意:动态核心图像过滤器没有SKAction
,但您可以在CIFilter
函数或{{3}中更改update
个对象的参数阻止。