您如何存储 GameScene 以便我可以从 InGame 菜单转换回它?
Posted
技术标签:
【中文标题】您如何存储 GameScene 以便我可以从 InGame 菜单转换回它?【英文标题】:How do you store a GameScene so I can transition back to it from an InGame Menu? 【发布时间】:2017-09-28 02:10:08 【问题描述】:各位程序员大家好。这是场景。用户可以在游戏期间访问一个 InGameMenuScene,允许他们访问设置等。 InGameMenuScene 上的其中一个按钮 BackToGame 应将您带回到原来所在的 GameScene。我需要帮助弄清楚如何存储 GameScene,然后在单击 BackToGame 按钮时访问存储的 GameScene。我尝试将它存储在 UserDefaults 中,但在 InGameMenu 中再次访问它时遇到问题。
当前游戏场景:
func menuButtonPressed()
let savedScene = BInNYGameScene.self
let userDefaults = UserDefaults.standard
userDefaults.set(savedScene, forKey: "CurrentScene")
userDefaults.set(count, forKey: "CurrentCount")
userDefaults.set(hitCount, forKey: "CurrentHitCount")
userDefaults.synchronize()
InGameMenuScene:
func backToGame()
let userDefaults = UserDefaults.standard
let backToGameScene = userDefaults.object(forKey: "CurrentScene") as! SKScene
let nextScene = backToGameScene(size: scene!.size)
nextScene.scaleMode = .aspectFill
scene?.view?.presentScene(nextScene, transition: transition)
如果有更好的方法来存储 GameScene 和检索 GameScene,请告诉我。谢谢!
【问题讨论】:
【参考方案1】:在过渡到它之前,只需在 MenuScene 中跟踪它
当前游戏场景:
func toMenu()
let menu = MenuScene(...)
menu.previousScene = self
scene?.view?.presentScene(self, transition: transition)
InGameMenuScene:
weak var previousScene : SKScene?
func backToGame()
guard let previousScene = previousScene elsefatalError("No previous scene provided")
scene?.view?.presentScene(previousScene, transition: transition)
【讨论】:
以上是关于您如何存储 GameScene 以便我可以从 InGame 菜单转换回它?的主要内容,如果未能解决你的问题,请参考以下文章
如何动态编写 React.useState 函数,以便您可以从 cms 获得尽可能多的输入类型
从 GameScene 转到 viewController Swift 3
如果用于身份验证的 JWT 令牌保存在 HTTP-Only cookie 中,您如何从 cookie 中读取它以便我可以将其包含在请求标头中?