Swift:在另一个场景上呈现一个场景

Swift: Presenting a Scene over another Scene

我找不到这个答案。如果我有一个设置场景,我想向下滑动到另一个场景上,我该如何在不删除原始场景的情况下执行此操作。我希望能够将设置场景过渡到游戏之上,当他们单击 "Back" 时,设置场景向上滚动并消失。

不知道为什么每个人都在这里谈论视图控制器,但实现你想做的最简单的方法不涉及多个场景。

在 SpriteKit 中,一次只能有 1 个场景。

那么你要做的是,你有一个 SKNode 将用于你的设置场景,还有一个 SKNode 用于你的主要内容。

像在场景中一样将所有设置节点放入此设置 SKNode。

将所有主要内容放入主 SKNode。

将主节点添加到您的场景以实现正常的游戏功能。

为设置节点提供高 z 位置,使其位于顶部。

然后当你需要呈现设置节点时,将其位置设置为屏幕高度+ 1/2 SKNodes 高度(除非你更改锚点)。

必要时暂停主节点。

在设置节点上使用 SKAction 使其向下移动到屏幕上您需要移动的位置。 (SKAction.moveToX(x:y:) 应该适合你)。

然后当你需要离开时,只要调用SKAction的反向并取消暂停主节点即可。