Swift SpriteKit“Extra Arguement”大小“在电话中

时间:2015-10-20 13:01:17

标签: swift sprite-kit swift2 skscene

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

  

通话中的额外争议“规模”

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

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

提前致谢,

拉​​结

1 个答案:

答案 0 :(得分:3)

我猜这种情况正在发生,因为您在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。我在该页面上链接的部分描述了类何时继承超类的初始值设定项的规则。它们不是默认继承的。