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的反向并取消暂停主节点即可。
我找不到这个答案。如果我有一个设置场景,我想向下滑动到另一个场景上,我该如何在不删除原始场景的情况下执行此操作。我希望能够将设置场景过渡到游戏之上,当他们单击 "Back" 时,设置场景向上滚动并消失。
不知道为什么每个人都在这里谈论视图控制器,但实现你想做的最简单的方法不涉及多个场景。
在 SpriteKit 中,一次只能有 1 个场景。
那么你要做的是,你有一个 SKNode 将用于你的设置场景,还有一个 SKNode 用于你的主要内容。
像在场景中一样将所有设置节点放入此设置 SKNode。
将所有主要内容放入主 SKNode。
将主节点添加到您的场景以实现正常的游戏功能。
为设置节点提供高 z 位置,使其位于顶部。
然后当你需要呈现设置节点时,将其位置设置为屏幕高度+ 1/2 SKNodes 高度(除非你更改锚点)。
必要时暂停主节点。
在设置节点上使用 SKAction 使其向下移动到屏幕上您需要移动的位置。 (SKAction.moveToX(x:y:)
应该适合你)。
然后当你需要离开时,只要调用SKAction的反向并取消暂停主节点即可。