2015-03-02 33 views
0

在使用Swift在Xcode中創建新遊戲時,該模板會創建一個GameViewController.swift文件和一個GameScenes.swift文件。是正確的方式來思考這些文件的目的,前者(GameViewController)就像控制器,而GameScenes就像視圖一樣?GameViewController.swift是否像控制器和GameScenes.swift一樣是視圖(Swift遊戲)?

如果這是真的,爲什麼一些教程會顯示在GameScenes而不是GameViewController中實現的手勢識別器(例如點擊,滑動)?

回答

0

是的,你可以看到它那樣。

只需在開始一個新的SpriteKit項目時檢查示例代碼。如果你打開GameViewController.swift文件,你看到viewDidLoad方法如下一行:

let skView = self.view as SKView 
.... 
skView.presentScene(scene) 

在這裏,你看到的回答你的問題。在你的UIViewController中的視圖被鑄造成SKView並呈現GameScene。所以步驟是這樣的:

UIViewController --> View --> GameScene 

但關於教程。這取決於開發者如何處理這個問題。如果您將其與例如extension進行比較。你可以編寫一個util-file,在其中放入所有東西,你想要重用的東西,或者直接寫在你的GameScene文件中。當然,最好的做法是爲它創建一個自己的文件。但許多教程只是想把所有東西都放在一個地方,所以初學者可以更容易理解。

但是,在UIViewController中編寫它通常是比較複雜的。例如,如果您嘗試使用GestureRecognizer

但是,如果您檢查例如raywenderlich.com上的教程,您會看到,這些教程很好地拆分了(在最終的項目中)。

相關問題