如何从暂停中排除 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
如果还有什么问题可以在评论里问我
我在暂停游戏时遇到问题。我有一个函数,它每秒自动生成新的 "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
如果还有什么问题可以在评论里问我