
2D
图形和
Sprite Kit
|
201
SKBlendMode.multiplyX2
类似于
SKBlendMode.multiply
,但精灵的颜色在第一次相乘后再乘以
2
。这会
创建一种比
Multiply
更亮的效果。
SKBlendMode.screen
节点颜色和背景颜色相加,然后乘以背景颜色的取反。这样创建出来一种比
SKBlendMode.add
更微妙的加亮效果(适用于发光和局部发光)。
SKBlendMode.replace
用节点颜色替换背景颜色,同时不与任何现有颜色混合。这表示所有
alpha
信
息完全被忽略。这种模式是最快的绘制模式,因为根本不需要进行任何混合操作。
6.14
对精灵使用滤镜
问题
我们想在绘制精灵时使用滤镜,以产生一些特殊的视觉效果。
解决方案
使用一个带有滤镜的
SKEffectNode
对象,可以在节点上应用特殊的可视化效果:
let effect = SKEffectNode()
guard let filter = CIFilter(name: "CIGaussianBlur") else {
fatalError("Failed to get the filter!")
}
filter.setValue(20.0, forKey: "inputRadius")
effect.filter = filter;
myScene.addChild(effect)
effect.addChild(imageSprite)
讨论
CIFilter
是一种能够让位图上呈现某种滤镜效果的对象。
CiIFilter ...