我的 GameScene 中有我的游戏说明,完成说明后我按下按钮转到 GamePlay 场景,我希望 GameScene 在我再次打开我的应用程序时不再出现。我希望 GamePlay 场景在我下次打开应用程序时出现,并且 GameScene 永远被删除。在 Swift 中可以这样做吗?我尝试这样做,但它对我不起作用,这是我使用的代码:
class GameScene: SKScene, {
let deleteInstuctions = NSUserDefaults().boolForKey("delete")
override func didMoveToView(view: SKView) {
if deleteInstuctions {
GameScene.removeFromParent()
NSUserDefaults().setBool(true, forKey: "delete")
NSUserDefaults.standardUserDefaults().synchronize()
}
if node.name == "start" {
NSUserDefaults().setBool(true, forKey: "delete")
//go to gameplay
let goToHome = GamePlay(size: self.size)
let transitionToHome = SKTransition.fadeWithDuration(1.0)
goToHome.scaleMode = SKSceneScaleMode.AspectFill
self.scene!.view?.presentScene(goToHome, transition: transitionToHome)
}
}
}
最佳答案
只需使用 NSUserDefaults 来存储指令场景是否在 Bool 中单击了它的按钮。然后在您的初始场景中,只需使用 if else 语句加载适当的场景。我会说这是更基本的逻辑,而不是 Swift 特定的东西。
在您发布的代码中,我不确定从内部移除 GameScene 本身是否是一个好的解决方案,如果不需要,您可以选择不首先加载该场景。
关于ios - 我如何在显示一次后删除我的 GameScene?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37011541/