在另一个半透明的SKScene下显示暂停的SKScene

时间:2014-10-30 17:20:20

标签: ios swift sprite-kit

我正在暂停使用包含SKScene的游戏玩法,并使用self.view?.presentScene()呈现包含其上方菜单的另一个SKScene。

菜单场景具有透明背景,在转换过程中,我可以正确地看到下面的暂停游戏。但是当转换完成后,背景突然变黑,这告诉我游戏场景已经消失。

在显示菜单时,有没有办法保留暂停的游戏?

2 个答案:

答案 0 :(得分:1)

SKView一次只能显示一个场景。

但是,您仍然可以将游戏设计为将菜单封装为自己的“场景” - 它不能是SKScene。将菜单设为节点,并将其添加到游戏场景中。 (如果您在显示菜单时需要在游戏场景中设置paused,请将所有游戏内容放入游戏场景的子节点中,然后暂停。)您甚至可以对子菜单重复此过程。并且您可以使用Xcode场景编辑器来制作菜单 - 只需确保每个.sks文件中的菜单内容都在一个子节点中,您可以在加载文件时将其拉出并重新进入实时场景。

您可以在Apple的Bananas示例代码项目中看到此示例。这是一个SceneKit(3D)游戏,但它使用SpriteKit场景作为其HUD和菜单,使用这种技术来交换不同的菜单内容。

答案 1 :(得分:0)

还有另一种方式。

菜单应该是添加了子节点的父节点。它不应该是它自己的场景。

如果要显示菜单,请暂停游戏并将菜单父节点添加到场景中。