gpt4 book ai didi

swift - 如何存储 GameScene 以便我可以从游戏内菜单过渡回它?

转载 作者:行者123 更新时间:2023-11-30 12:08:01 27 4
gpt4 key购买 nike

各位程序员大家好。这是场景。用户可以在游戏过程中访问 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()
}

游戏菜单场景:

 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,请告诉我。谢谢!

最佳答案

在转换到 MenuScene 之前,只需在 MenuScene 中跟踪它即可

当前游戏场景:

func toMenu(){
let menu = MenuScene(...)
menu.previousScene = self
scene?.view?.presentScene(self, transition: transition)

}

游戏菜单场景:

 weak var previousScene : SKScene?
func backToGame(){
guard let previousScene = previousScene else{fatalError("No previous scene provided")}
scene?.view?.presentScene(previousScene, transition: transition)

}

关于swift - 如何存储 GameScene 以便我可以从游戏内菜单过渡回它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46459872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com