首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKAction继续工作

SKAction继续工作
EN

Stack Overflow用户
提问于 2016-09-07 20:24:25
回答 2查看 59关注 0票数 1

我正在使用下面的命令暂停我的游戏

代码语言:javascript
复制
self.scene?.paused = true

然而,当场景暂停时,所有的SKAction都会停止。我能做些什么来让一些行动继续发挥作用呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-07 20:56:14

将某些节点添加到不同的SKNode中,因此只能暂停希望暂停的层(SKNode)。看起来会是这样的:

代码语言:javascript
复制
let gameLayer = SKNode() 
let pauseLayer = SKNode()

现在,当您想要将一个子元素添加到场景中时,可以将其添加到一个层中:

代码语言:javascript
复制
gameLayer.addChild(gameSceneNode)
pauseLayer.addChild(pauseSceneNode)

别忘了把图层也添加到场景中

代码语言:javascript
复制
addChild(gameLayer)
addChild(pauseLayer)

若要暂停一层,请如下所示:

Swift 3

代码语言:javascript
复制
gameLayer.isPaused = true

Swift 2

代码语言:javascript
复制
gameLayer.paused = true

请注意,在本例中,gameLayer上的所有节点都将暂停,但是pauseLayer上的所有节点都不会暂停。

票数 3
EN

Stack Overflow用户

发布于 2016-09-07 20:49:51

您需要设计节点树时,可以暂停某些节点(例如,游戏节点),而不是暂停其他节点(例如,暂停菜单节点)。当您在节点上设置paused属性时,它也适用于它的所有子节点。

节点层次结构示例:

代码语言:javascript
复制
GameScene
    GameplayNode
        Character
        Enemy
        Enemy
    PauseMenu
        PlayButton
        VolumeButton

如果你想在游戏暂停的时候激活你的PlayButton,你可以将GameplayNode.paused设置为true,并为你的暂停菜单设置工作SKAction

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39378419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档