我正在开发一款需要同时使用 SceneKit 和 SpriteKit 的 iOS 游戏,并且想知道渲染/更新循环功能。
我将使用 SpawnController 类来生成不同类型的对象,它们将基于时间间隔。
现在我有一个符合 SCNSceneRendererDelegate 的 GameViewController ,就像这里一样, 我已经对其进行了修改,以便在委托更新函数中调用我的 SpawnController 的自定义更新函数,如下所示:
extension GameViewController: SCNSceneRendererDelegate {
func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
mySpawnController.nextSpawn()
}
}
我觉得必须有更好的方法来做到这一点,例如将委托添加到 SCNScene 或 SCNNode。
我的问题:
是否可以像 SKScene 一样为 SCNScene 或 SCNNode 提供“update(_ currentTime: TimeInterval)”?或者我应该继续从我的 GameViewController 中的一个 SCNSceneRendererDelegate 更新函数调用自定义添加的更新函数?
谢谢