GameViewController.swift 像控制器,GameScenes.swift 像视图(Swift 游戏)吗?
Posted
技术标签:
【中文标题】GameViewController.swift 像控制器,GameScenes.swift 像视图(Swift 游戏)吗?【英文标题】:Is GameViewController.swift like the controller and GameScenes.swift like the view (Swift games)? 【发布时间】:2015-03-02 22:19:51 【问题描述】:当使用 Swift 在 Xcode 中创建新游戏时,模板会创建一个 GameViewController.swift 文件和一个 GameScenes.swift 文件。考虑这些文件的用途的正确方法是前者(GameViewController)就像控制器,而GameScenes就像视图?
如果属实,为什么有些教程会显示在 GameScenes 而不是 GameViewController 中实现手势识别器(例如,点击、滑动)?
【问题讨论】:
【参考方案1】:是的,你可以这样看。
当您开始一个新的 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 之类的教程,您会发现这些教程被很好地分割了。(在最终项目中)。
【讨论】:
以上是关于GameViewController.swift 像控制器,GameScenes.swift 像视图(Swift 游戏)吗?的主要内容,如果未能解决你的问题,请参考以下文章
从 GameScene 转到 viewController Swift 3