我有一个要添加 SKScene 的 UIView。在我声明“skView”的步骤中它崩溃了。
var skView=view as SKView;
var skScene=gameScene();
skView.presentScene(skScene)
我有一个要添加 SKScene 的 UIView。在我声明“skView”的步骤中它崩溃了。
var skView=view as SKView;
var skScene=gameScene();
skView.presentScene(skScene)
as操作员不是那样工作的。为了将一种类型的值处理为as另一种类型,需要满足以下两点:
你有第一个,但没有第二个。例如,如果我给你一些东西,而我只说它是 a Car,那么你accelerate()可以随心所欲地接受它(不要忘记brake()也一样),但如果你愿意,engageClutch()你需要把它当作asa StickshiftCar。不过,我可能给了你StickshiftCar,也可能没有——如果你实际上拥有的是别的东西,你不能只说“把它当作一个变速杆”来让它成为一个。
如果你想使用一个SKView,你首先需要给自己一个。如果您的视图设置在情节提要中,请使用 IB 将视图控制器的根视图设置为SKView. 然后,在代码中,您可以访问self.view(这只是UIView属性所知道的所有内容)并安全地将其as视为SKView.