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

时间:2015-01-08 19:15:24

标签: ios loops swift scenekit

我需要为我的GameViewController添加游戏循环(来自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!

如果有人可以链接使用Swift和Scene Kit设置游戏逻辑的代码示例或者从头开始向我解释,那将是非常棒的。谢谢!

1 个答案:

答案 0 :(得分:4)

分配时:

gameView.delegate = self

这要求self是一个声明符合SCNSceneRendererDelegate协议的类。要使视图控制器类声明协议一致性,请使用in the Swift book

中描述的语法
class ViewController: UIViewController, SCNSceneRendererDelegate  {
    //                ~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~~~ ^
    //                ^- superclass     ^- protocol              |
    //                   more protocols if you conform to them --/ 

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