将 SKScene 添加到 UIViewController?

Yon*_*nny 5 uiviewcontroller ios sprite-kit skscene swift

我刚刚创建了一个新的UIViewController界面生成器。它是从(单元格)开始的UITableViewControllerSKScene我现在想在这个里面工作UIViewController。这是如何实现的?

顺便说一句...

如果SKScene占据整个场景,UIViewController.view您可以将UIKit对象叠加在场景顶部吗?

或者最好在UIView内部创建一个单独的UIViewController.view来容纳SKScene,然后UIKit在这个单独的周围布局对象UIView,并让默认UIViewController.view值充当所有这些元素的容器?如果采用这种方法,理论上讲这些UIKit对象可以被SKScene?

Bea*_*lle 3

  1. 将 SKView 添加到您的 viewController 中。
  2. 将 SKScene 添加到您的 SKView。

您可以从 SKScene 内部覆盖 UIKit 项目。这就是我在游戏中使用集合和表格视图的方式。但是,它们需要作为子视图添加到保存 SKScene 的 SKView 上。

SKScene 有一个视图属性,该属性应该保存对其所包含的 SKView 的引用。因此,只需执行类似的操作即可。

class MyScene: SKScene {
    var someView: UIView

    override func didMoveToView(view: SKView) {
        someView = //setup view here
        view.addSubview(someView)
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在这个场景中,您可以在任何您喜欢的地方访问您的 UIKit 对象。