我该如何使用Swift和SpriteKit制作故事板?

5
我使用Xcode来制作iOS应用程序的主要原因之一就是它的storyboard界面构建器。但当我发现不应该在spriteKit中使用storyboards时,我感到很失望。如果没有一个好的可视化构建器,我很难为游戏菜单设计一个漂亮的界面。有没有办法在storyboards中启动一个spriteKit应用程序,然后通过点击“开始游戏”按钮切换到spriteKit场景,在游戏失败时在代码中切换回storyboards(使用swift)?请帮忙解答,谢谢。
-Callum-
1个回答

7

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

对于使用SpriteKit制作的iOS游戏,需要设置至少一个viewController,可以在App delegate中以编程方式或在storyboard中进行设置,以便在其中显示SKScene。SKScene将显示在此VC的主视图上。

因此,如果您正在使用storyboard,则iOS游戏将必须从中实例化根viewController。您可以轻松设计viewController上的UI,并在按下按钮时从代码中呈现游戏,无论是在同一viewController还是新的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)
  }
}

如果想从场景返回到主菜单,请查看这个答案


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接