我正在使用下面的命令暂停我的游戏
self.scene?.paused = true然而,当场景暂停时,所有的SKAction都会停止。我能做些什么来让一些行动继续发挥作用呢?
发布于 2016-09-07 20:56:14
将某些节点添加到不同的SKNode中,因此只能暂停希望暂停的层(SKNode)。看起来会是这样的:
let gameLayer = SKNode()
let pauseLayer = SKNode()现在,当您想要将一个子元素添加到场景中时,可以将其添加到一个层中:
gameLayer.addChild(gameSceneNode)
pauseLayer.addChild(pauseSceneNode)别忘了把图层也添加到场景中
addChild(gameLayer)
addChild(pauseLayer)若要暂停一层,请如下所示:
Swift 3
gameLayer.isPaused = trueSwift 2
gameLayer.paused = true请注意,在本例中,gameLayer上的所有节点都将暂停,但是pauseLayer上的所有节点都不会暂停。
发布于 2016-09-07 20:49:51
您需要设计节点树时,可以暂停某些节点(例如,游戏节点),而不是暂停其他节点(例如,暂停菜单节点)。当您在节点上设置paused属性时,它也适用于它的所有子节点。
节点层次结构示例:
GameScene
GameplayNode
Character
Enemy
Enemy
PauseMenu
PlayButton
VolumeButton如果你想在游戏暂停的时候激活你的PlayButton,你可以将GameplayNode.paused设置为true,并为你的暂停菜单设置工作SKAction。
https://stackoverflow.com/questions/39378419
复制相似问题