首页 文章

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

提问于
浏览
5

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

-Callum-

1 回答

  • 6

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

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

    因此,如果您使用的是故事板,则iOS游戏必须从中实例化根viewController . 您可以在viewController上轻松设计UI,并通过按下按钮在同一个viewController或新窗口中显示代码中的游戏 . 一旦您使用Swift(如this)阅读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)
      }
    }
    

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

相关问题