如何从暂停中排除SKAction?

时间:2016-08-24 22:20:41

标签: ios swift skaction pause

我有一个问题暂停我的游戏。我有一个功能,每秒自动生成新的“块”并将其移动到屏幕上。但是当我设置paused = true时,所有内容都会暂停,我无法为暂停标签设置动画。有没有办法从暂停中排除某些东西?我搜索过,没有什么对我有用。除非SKAction

,否则无法暂停paused = true。{/ 1}
//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)

1 个答案:

答案 0 :(得分:2)

使用SKNodes仅暂停所需的图层。为暂停层创建节点:

let gameLayer = SKNode()

然后向图层添加内容:

gameLayer.addChild(pausedNode)

addChild(gameLayer)

你也可以为游戏图层执行此操作,这样您就可以暂停游戏图层,因为它会暂停所有孩子,所以如果您创建另一个名为noPauseGameLayer的图层,那么您就不会暂停游戏图层在那一层。

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

Swift 3

gameLayer.isPaused = true

Swift 2

gameLayer.paused = true

如果您有任何其他问题,请在评论中提出