如何从暂停中排除 SKAction?

How to exclude an SKAction from pause?

我在暂停游戏时遇到问题。我有一个函数,它每秒自动生成新的 "block" 并将其移动到屏幕上。但是当我设置 paused = true 时,一切都暂停了,我无法为我的暂停标签设置动画。有没有办法从暂停中排除某些东西?我已经搜索过,但对我没有任何用处。有一个 SKAction 不能暂停,除非 paused = true.

//this happens every 1 sec
    block.color = UIColor.blackColor()
            block.position = CGPoint(x: CGFloat(frame.width), y: generateSetting)
            block.physicsBody = SKPhysicsBody(rectangleOfSize: block.size)
            block.physicsBody?.categoryBitMask = BodyType.block
            block.physicsBody?.contactTestBitMask = BodyType.ground
            block.physicsBody?.contactTestBitMask = BodyType.bobby
            block.physicsBody?.allowsRotation = false
            block.physicsBody?.affectedByGravity = false
            block.physicsBody?.dynamic = false
            block.physicsBody?.restitution = 0
            block.zPosition = 1
            block.shadowedBitMask = 1

            self.addChild(block)

使用 SKNodes 只暂停你想要的图层。为暂停层创建节点:

let gameLayer = SKNode()

然后向图层添加东西:

gameLayer.addChild(pausedNode)

addChild(gameLayer)

您也可以为游戏层执行此操作,这样您就可以只暂停游戏层,因为这会暂停其所有子层,因此如果您创建另一个名为 noPauseGameLayer 的层,您就不会暂停该层上的任何内容。

现在,要仅暂停您要暂停的图层,请执行以下操作:

Swift 3

gameLayer.isPaused = true

Swift 2

gameLayer.paused = true

如果还有什么问题可以在评论里问我