【发布时间】:2019-02-15 16:47:16
【问题描述】:
从最近开始,我一直在尝试遗传。此后GameViewController.swift中出现如下错误:Cannot convert value of type 'CGSize' to expected argument type 'NSCoder'
GameViewController.swift
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let scene = GameScene(coder: self.view.bounds.size) //here is the error
let skview = self.view as! SKView
skview.showsFPS = true
skview.showsNodeCount = true
skview.showsPhysics = false
skview.presentScene(scene)
}
}
我将非常感谢任何答案,因为我已经坐在这个问题上几个小时了。
【问题讨论】:
-
您的代码编译得很好,不会产生上述错误。你应该edit你的问题,实际代码以minimal reproducible example的形式产生错误。
-
我最好的猜测是您已经实现了
init(coder:),并且正在使用不正确的参数调用super。如果您不打算从场景文件加载场景,您可以通过fatalError("Unsupported")调用来实现init(coder:)。 -
另外,您获得否决票和接近票的原因是因为您显示的代码与您提到的错误完全无关。对于以后的问题,请确保发布导致错误的代码。你会得到更好的答案。
-
我希望我能显示正确的代码
-
那么当您使用
CGSize参数而不是NSCoder调用GameScene(coder:)时,您期望会发生什么?
标签: swift sprite-kit