有人可以提供一个如何使用 Apple 的 Sprite Kit 逐渐模糊 SKSpriteNode 图像的示例吗?例如,假设用户触摸屏幕上的按钮,该按钮将触发背景缓慢(即逐渐)模糊,直到达到特定阈值。理想情况下,我也想反转该过程(例如,允许用户通过触摸同一按钮来取消图像模糊)。
有两种可能的途径可以实现这一点,都使用 SKEffectNodes
SKEffectNodes 允许您将 CI 过滤器应用到节点。
有一个用于高斯模糊的 CI 滤镜。因此,创建一个 SKEffectNode,并为其分配一个模糊滤镜,然后将按钮添加为子项。
你如何制作它的动画?
使用 SKAction 创建自定义操作,并更改过滤器的参数,但是,这可能很慢,并且并不总是给出您可能期望的“渐进”模糊效果,所以我所做的是:
我像上面描述的那样创建一个过滤器和 SKEffectNode,然后使用 SKView.textureForNode 将结果渲染到纹理。然后,我将生成的纹理添加到一个数组中,之后循环此操作,继续在创建的上一个图像之上应用模糊效果,直到获得一定数量的帧。然后使用创建的纹理通过 SKAction.animateWithTextures 制作动画。根据我的经验,结果非常好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)