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 的初始化程序的规则。它们默认不被继承。
尝试在一个 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 的初始化程序的规则。它们默认不被继承。