语言:Swift 3.0 --- IDE:Xcode 8.0 beta 2 --- 项目:iOS 游戏 (SpriteKit)
我为 iOS 创建了一款游戏,我知道 Apple 对于接受应用程序/游戏的规则非常严格。所以我想知道哪种是设置游戏的正确方法。
我从谷歌学习创建一个新的 SpriteKit 项目并进行以下设置:
In GameViewController.swift清除 viewDidLoad() 并添加所有这些:
override func viewDidLoad() {
super.viewDidLoad()
let skView = self.view as! SKView
let scene = GameScene(size: skView.bounds.size)
scene.scaleMode = .aspectFit
skView.presentScene(scene)
}
In 游戏场景.swift删除所有内容并保留此代码:
import SpriteKit
class GameScene: SKScene {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(size: CGSize) {
super.init(size: size)
// add all the code of the game here...
}
}
并在 override init 中开发我的游戏
但我认为用 init 来启动游戏实际上是错误的。正确的方法是使用 didMove() 方法。那么代码应该写在这里吗? :
override func didMove(to view: SKView) {
<#code#>
}
有谁知道哪一种是正确的方法?为什么?另外,如果我这样做的方式不对,你能解释一下如何使用 didMove 方法吗?
不知道这是否是一个愚蠢的问题,只是让我感到困扰,因为使用 init 是错误的,想问是否有人对此了解更多。