将自定义游戏逻辑添加到 Scene Kit (Swift)

Adding custom game logic to Scene Kit (Swift)

我需要在我的游戏中添加一个游戏循环ViewController(来自 Swift "Game" 用于 iOS 开发的模板)以创建应用程序并找到此参考页解释了如何执行此操作:

https://developer.apple.com/library/prerelease/ios/documentation/SceneKit/Reference/SCNSceneRendererDelegate_Protocol/

然而,当我尝试将 SCNView 的委托设置为 ViewController 时,它会抛出警告和错误(在 viewDidLoad() 内部):

gameView.delegate = self

我的故事板中 gameView 连接到 SCNView 的位置:

@IBOutlet weak var gameView: SCNView!

如果有人可以 link 使用 Swift 和 Scene Kit 设置游戏逻辑的代码示例,或者从头开始向我解释,那就太好了。谢谢!

分配时:

gameView.delegate = self

这要求 self 是一个 class 声明符合 SCNSceneRendererDelegate 协议。要使您的视图控制器 class 声明协议一致性,请使用描述的语法 in the Swift book:

class ViewController: UIViewController, SCNSceneRendererDelegate  {
    //                ~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~~~ ^
    //                ^- superclass     ^- protocol              |
    //                   more protocols if you conform to them --/ 

    // ... rest of class definition ...
}