gpt4 book ai didi

swift - SpriteKit - 为整个场景添加模糊效果

转载 作者:可可西里 更新时间:2023-11-01 00:51:04 25 4
gpt4 key购买 nike

我试图在按下暂停按钮时模糊整个 GameScene。我有一个名为 blurSceen() 的方法,但它似乎没有将效果添加到场景中。有什么办法可以做到这一点,还是我做错了什么?我已经查看了有关此主题的其他帖子,但未能达到效果。

       func blurScreen() {     
let effectsNode = SKEffectNode()

let filter = CIFilter(name: "CIGaussianBlur")
let blurAmount = 10.0
filter!.setValue(blurAmount, forKey: kCIInputRadiusKey)

effectsNode.filter = filter
effectsNode.position = self.view!.center
effectsNode.blendMode = .Alpha

// Add the effects node to the scene
self.addChild(effectsNode)
}

最佳答案

来自SKEffectNode docs :

An SKEffectNode object renders its children into a buffer and optionally applies a Core Image filter to this rendered output.

效果节点仅将过滤器应用于其子节点。您的效果节点没有子节点,因此没有可应用过滤器的对象。

可能您想要的是尽早向您的场景添加一个效果节点——但不要在其上设置过滤器——并将您稍后想要模糊的所有节点作为其子节点放入其中。当需要应用模糊时,在(已经存在的,已经有 child 的)效果节点上设置过滤器。

关于swift - SpriteKit - 为整个场景添加模糊效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38757427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com