首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift- SKEffectNode需要一段时间才能出现

Swift- SKEffectNode需要一段时间才能出现
EN

Stack Overflow用户
提问于 2015-09-16 07:51:08
回答 1查看 160关注 0票数 1

所以我在我的游戏中有一个暂停按钮,当你按下它时,场景就会暂停,除了一个SKNode (暂停菜单)之外的所有东西都会变得模糊。为此,我创建了一个具有过滤器的SKEffectNode,并将除pause菜单之外的所有内容都添加到其中。它可以工作,但它需要2秒才能让模糊出现在背景中。只要按下按钮,场景就会暂停,但模糊和暂停菜单只会在几秒钟后出现。有什么想法吗?

代码如下:

代码语言:javascript
复制
     override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {

         for touch in (touches as! Set<UITouch>) {
            let location = touch.locationInNode(self)

            if (self.nodeAtPoint(location).name == "PauseButton"){
                if(!scene!.paused) {
                    blurScene()

                    scene!.paused = true
                    self.addChild(pauseMenu!)
                }else {
                    removeBlur()

                    scene!.paused = false
                    pauseMenu!.removeFromParent()
                }
            }
        }
    }

    func blurScene() {
        blurNode = SKEffectNode() //Created in the beginning of the class
        let blur = CIFilter(name: "CIGaussianBlur",    withInputParameters: ["inputRadius": 15.0])
        blurNode!.filter = blur
        self.shouldEnableEffects = true

        for node in self.children {
            node.removeFromParent()
            blurNode!.addChild(node as! SKNode)
        }

        self.addChild(blurNode!)
    }

    func removeBlur() {
        var blurredNodes = [SKNode]()

        for node in blurNode!.children {
            blurredNodes.append(node as! SKNode)
            node.removeFromParent()
        }

        for node in blurredNodes {
            self.addChild(node as SKNode)
        }

        self.shouldEnableEffects = false
        blurNode!.removeFromParent()
    }
EN

回答 1

Stack Overflow用户

发布于 2019-09-04 03:26:27

尝试将SKEffectNode添加为根视图,并将子节点添加到其中。然后你就可以设置模糊滤镜了

代码语言:javascript
复制
self.shouldEnableEffects = false

当你想简单地模糊的时候

代码语言:javascript
复制
self.shouldEnableEffects = true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32597480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档