ios - 我如何在显示一次后删除我的 GameScene?

标签 ios swift sprite-kit

我的 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/

相关文章:

ios - 第二次启动后制作 UIAlertView 展示

ios - 在 Snow Leopard 上运行 iOS 模拟器

ios - 工作区中项目之间的Xcode共享运行脚本构建阶段

iphone - 应用内教程

ios - Iphone 4 不显示游戏背景

ios - SKAction Moveto 没有在持续时间内完成?

ios - 弹出 View Controller 后 UITableViewController 奇怪的行为

ios - 如何从 XMPP 获取图像?

ios - Swift 中的 Perlin 噪声发生器

swift - SpriteKit使用removeFromParent删除节点不起作用