如何使用swift在spriteKit中使用故事板

Cal*_*son 5 storyboard sprite-kit swift

我使用Xcode而不是其他应用程序制作iOS应用程序的主要原因之一是故事板界面构建器.当我发现你不打算使用带有spriteKit的故事板时,我感到很不高兴.我觉得很难为没有良好视觉构建器的游戏菜单设计一个漂亮的界面.有没有办法使用故事板启动spriteKit应用程序,然后单击"开始游戏"按钮,切换到spriteKit场景,然后当你输掉游戏时,在代码切换回故事板(使用swift)?请帮助和谢谢.

-Callum-

ZeM*_*oon 6

SpriteKit场景呈现在SKView的实例上,SKView是一个子类UIView.

对于使用SpriteKit制作的iOS游戏,需要至少设置一个viewController,可以在App委托中编程,也可以在故事板中设置,可以在其上显示SKScene.这个VC的主要观点是将展示SKScene.

因此,如果您使用的是故事板,则iOS游戏必须从中实例化根viewController.您可以在viewController上轻松设计UI,并在按下按钮时在代码中显示游戏,可以是在同一个viewController中,也可以是新的.一旦你像这样使用Swift阅读SpriteKit的初学者教程,这一切都会很明显.

假设你的根viewController有你的主菜单(在另一个名为menuView的视图上),上面有一个播放按钮.现在通过按下按钮呈现游戏看起来像这样:

class MyViewController: UIViewController {
  @IBOutlet wear var menuView: UIView?
  @IBOutlet weak var playButton: UIButton?

  @IBAction func likedThis(sender: UIButton) {
    //Hide the menu view
    menuView.hidden = true

    //instantiate and present the scene on the main view
    let scene = MyScene(size: view.bounds.size)
    let skView = self.view as SKView
    skView.presentScene(scene)
  }
}
Run Code Online (Sandbox Code Playgroud)

至于从现场回到主菜单,看看这个答案.