【问题标题】:How do I use storyboards with spriteKit using swift如何使用 swift 使用带有 spriteKit 的情节提要
【发布时间】:2015-03-11 02:17:05
【问题描述】:

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

-卡勒姆-

【问题讨论】:

    标签: swift storyboard sprite-kit


    【解决方案1】:

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

    对于使用 SpriteKit 制作的 iOS 游戏,需要在 App 委托或情节提要中以编程方式设置至少一个 viewController,在其上可以显示 SKScene。 SKScene 将在这个 VC 的主视图中呈现。

    因此,如果您使用情节提要,iOS 游戏将必须从其中实例化根 viewController。您可以轻松地在 viewController 上设计 UI,并通过按下按钮的代码呈现游戏,无论是在同一个 viewController 中还是在新的 viewController 中。一旦您阅读了使用 Swift 的 SpriteKit 初学者教程,例如this,所有这些都会很明显。

    假设你的根 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      • 2015-06-12
      • 2014-12-01
      相关资源
      最近更新 更多