Swift SpriteKit "Extra Arguement "size" 在调用中

Swift SpriteKit "Extra Arguement "size" in call

尝试在一个 SKScene 与另一个 SKScene 之间转换时。例如,当它的游戏结束时,我使用下面的代码并得到以下错误:-

Extra Arguement "size" in call

下面是发生此错误时我使用的代码示例。

let scene = GameOverScreen(size: self.scene!.size) //<<---- Error throws here
scene.scaleMode = SKSceneScaleMode.AspectFill
view!.scene?.paused = true

self.scene!.view!.presentScene(scene, transition: transition)

我以前的游戏从来没有出现过这种情况,我也想不通为什么?

使用 XCode 7、swift 2 和 SpriteKit

提前致谢,

雷切尔

我猜这是因为您在 GameOverScene 中定义了其他未提及的初始值设定项。既然你这样做了,你就不会自动继承所有 SKScene 的初始值设定项。您可能只需要将以下内容添加到 GameOverScene:

override init(size: CGSize) {
    // Set up your properties
    super.init(size: size)

    // Do whatever else you need to
}

如果您没有在 GameOverScene 中定义任何初始值设定项,您将不会看到此行为。我建议进一步阅读 Automatic Initializer Inheritance。我在该页面上链接到的部分描述了 class 何时继承 superclass 的初始化程序的规则。它们默认不被继承。