暂停spritekit游戏时显示菜单

时间:2015-06-08 19:46:02

标签: swift sprite-kit

我创造了一个像塔防的游戏。我可以成功地“暂停”所有比赛。然后我可以用这些代码恢复游戏:

let startLocation = CGPoint(x: location.x, y: location.y);
let myNodeName = self.nodeAtPoint(location)
if(myNodeName.Name == "Start"){
   self.view!.paused = false
}
if(myNodeName.Name == "pause"){
   self.view!.paused = true 
   self.showPausedMenu()
}

在showPausedMenu函数中。我设计了一个包含SKLabelNodes和SKSpriteNodes的菜单。然而,当我暂停游戏时,所有这些“节点创建”的事情也暂停了。没有任何事情发生如何在游戏暂停时显示我的菜单?

谢谢。

3 个答案:

答案 0 :(得分:0)

问题是你正在暂停视图本身。暂停视图会停止所有逻辑。

如果您需要执行暂停菜单,则需要添加将显示在视图顶部的子视图以管理与用户的所有交互,或者您不需要暂停视图,而是放置视图ELEMENTS暂停并在其上创建事物。

答案 1 :(得分:0)

最好的方法是使用SKNode组,其中包含您要暂停的所有对象。

通过这种方式,您可以完全控制要暂停或取消暂停的元素

答案 2 :(得分:0)

我解决了我的问题。在暂停游戏时,所有屏幕都冻结了,但是gamecene仍然可以检测到所有"触摸"如果它有节点名称,那么我们可以做一些操作。此时,问题只显示我的菜单。所以这是我的解决方案。在我暂停游戏之前,我在屏幕上添加了我的菜单。然后暂停游戏。 实时版本是

~/.lein/profiles.clj

showPausedMenu是:

let startLocation = CGPoint(x: location.x, y: location.y);
let myNodeName = self.nodeAtPoint(location)
if(myNodeName.Name == "Start"){
   self.view!.paused = false
   self.removePausedMenu()
}
if(myNodeName.Name == "pause"){
   self.showPausedMenu()
}
相关问题