使用Swift在Xcode中创建新游戏时,模板会创建一个GameViewController.swift文件和一个GameScenes.swift文件。考虑这些文件的目的是正确的方式,前者(GameViewController)就像控制器,而GameScenes就像视图一样吗?
如果是真的,为什么有些教程会在GameScenes而不是GameViewController中显示手势识别器(例如,点按,滑动)?
答案 0 :(得分:0)
是的,你可以这样看。
在启动新的SpriteKit项目时,只需检查示例代码即可。如果您打开GameViewController.swift
文件,则会在viewDidLoad
方法中看到以下行:
let skView = self.view as SKView
....
skView.presentScene(scene)
在这里,您可以看到问题的答案。您UIViewController
中的视图会转换为SKView
并呈现GameScene。所以步骤就是这样:
UIViewController --> View --> GameScene
但是关于教程。这取决于开发人员如何处理它。如果将其与例如extension
进行比较。您可以编写一个util文件,在其中放入所有内容,您想要重复使用的内容,或者直接在GameScene文件中编写内容。当然,最好为它创建一个自己的文件。但是许多教程只是希望将所有内容放在一个位置,这样初学者就可以更容易理解等等。
但是在UIViewController中编写它通常会更复杂。例如,如果您尝试使用GestureRecognizer
。
但是,如果您查看raywenderlich.com上的教程,您会看到,这些教学很好分割。(在最终项目中)。