【问题标题】:How to progressively blur a SKSpriteNode's image using Sprite Kit?如何使用 Sprite Kit 逐渐模糊 SKSpriteNode 的图像?
【发布时间】:2013-11-12 19:26:34
【问题描述】:

谁能提供一个示例,说明如何使用 Apple 的 Sprite Kit 逐渐模糊 SKSpriteNode 的图像?例如,假设用户触摸屏幕上的按钮,然后触发背景缓慢(即逐渐)模糊,直到达到特定阈值。理想情况下,我也想反转这个过程(例如,允许用户通过触摸同一个按钮来取消模糊图像)。

【问题讨论】:

  • 你看过SKEffectNode了吗?

标签: objective-c transitions sprite-kit skspritenode


【解决方案1】:

有两种可能的路径,都使用 SKEffectNodes

SKEffectNodes 允许您将 CI 过滤器应用于节点。

有一个用于高斯模糊的 CI 过滤器。因此,创建一个 SKEffectNode,并为其分配一个模糊滤镜,然后将按钮添加为子按钮。

你如何为它制作动画?

使用 SKAction 创建自定义动作,并更改过滤器的参数,但是,这可能会很慢,并且并不总是会产生您所期望的“渐进式”模糊效果,所以我要做的是:

我像上面描述的那样创建一个过滤器和 SKEffectNode,然后我使用 SKView.textureForNode 将结果渲染到一个纹理。然后我将生成的纹理添加到一个数组中,然后循环这个,继续在创建的前一个图像的顶部应用模糊效果,直到我有一定数量的帧。然后使用创建的纹理通过 SKAction.animateWithTextures 制作动画。根据我的经验,结果非常好。

【讨论】:

    猜你喜欢
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多