Swift 在调用SKView之前添加一个SKNode
我试图在暂停场景之前添加一个SKSpriteNode。但目前我的代码中场景暂停得太快,以至于没有时间使用新的SKSpiteNode渲染帧。场景取消暂停后,将显示SKSpriteNode。如何确保在场景暂停之前渲染SKSpriteNode。这是我的密码:Swift 在调用SKView之前添加一个SKNode,swift,ios8,sprite-kit,Swift,Ios8,Sprite Kit,我试图在暂停场景之前添加一个SKSpriteNode。但目前我的代码中场景暂停得太快,以至于没有时间使用新的SKSpiteNode渲染帧。场景取消暂停后,将显示SKSpriteNode。如何确保在场景暂停之前渲染SKSpriteNode。这是我的密码: func pauseScene() { if (self.scene?.view?.paused == true){ self.pauseNode.removeFromParent() self.scen
func pauseScene() {
if (self.scene?.view?.paused == true){
self.pauseNode.removeFromParent()
self.scene?.view?.paused = false
} else if (self.scene?.view?.paused == false){
pauseTexture = SKTexture(imageNamed: "pauseImage")
pauseTexture.filteringMode = SKTextureFilteringMode.Nearest
pauseNode = SKSpriteNode(texture: pauseTexture)
pauseNode.zPosition = 100
pauseNode.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
pauseNode.size = CGSize(width: screenSize.width, height: screenSize.height)
self.addChild(pauseNode)
self.scene?.view?.paused = true
}
}
如果我没记错的话,可以将视图的暂停延迟到runBlock:action,其序列中的前导等待操作等待0秒。如果持续时间为0的等待操作仍然将执行延迟到下一帧。如果不是太多,请创建两个不同的节点:game/worldNode和hudNode。将游戏对象放置在worldNode中,并在hudNode中添加暂停节点。如果想暂停游戏,暂停worldNode。我添加了运行块,等待0秒。非常好,谢谢