如何使用Sprite Kit逐渐模糊SKSpriteNode的图像?

8

有人能提供一个使用苹果Sprite Kit逐渐模糊SKSpriteNode图像的示例吗?例如,假设用户触摸屏幕上的按钮,这将触发背景逐渐(即逐步)模糊,直到达到特定阈值。理想情况下,我也想反转这个过程(例如,通过触摸同一个按钮允许用户取消图像的模糊效果)。


1
你看过SKEffectNode了吗? - prototypical
1个回答

7
有两种可能的选择,都使用SKEffectNodes。
SKEffectNodes允许您对节点应用CI Filters。
有一个高斯模糊的CI Filter。因此创建一个SKEffectNode,并分配一个模糊过滤器,然后将按钮添加为子级。
如何使其动画?
使用SKAction创建自定义操作,并更改过滤器的参数,但这可能会很慢,而且不总是给您期望的“渐进式”模糊效果,所以我做的是:
像上面描述的那样创建一个过滤器和SKEffectNode,然后使用SKView.textureForNode将结果呈现为纹理。然后将生成的纹理添加到数组中,之后循环执行此操作,在先前创建的图像顶部继续应用模糊效果,直到获得一组帧。然后使用创建的纹理使用SKAction.animateWithTextures制作动画。根据我的经验,这非常好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接