将自定义游戏逻辑添加到 Scene Kit (Swift)
Adding custom game logic to Scene Kit (Swift)
我需要在我的游戏中添加一个游戏循环ViewController(来自 Swift "Game" 用于 iOS 开发的模板)以创建应用程序并找到此参考页解释了如何执行此操作:
然而,当我尝试将 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 ...
}
我需要在我的游戏中添加一个游戏循环ViewController(来自 Swift "Game" 用于 iOS 开发的模板)以创建应用程序并找到此参考页解释了如何执行此操作:
然而,当我尝试将 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 ...
}