Swift 如何更改启动时显示的默认场景

Swift 如何更改启动时显示的默认场景,swift,sprite-kit,Swift,Sprite Kit,我一直在开发一个在XCode创建的单一默认游戏场景中完成的游戏。现在我想添加更多屏幕,包括在游戏场景开始之前显示的标题屏幕和“游戏结束”场景。“游戏结束”场景从游戏场景转换回来,工作正常,但我无法显示标题屏幕,尽管更改了GameViewController.swift中的代码: class GameViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad()

我一直在开发一个在XCode创建的单一默认游戏场景中完成的游戏。现在我想添加更多屏幕,包括在游戏场景开始之前显示的标题屏幕和“游戏结束”场景。“游戏结束”场景从游戏场景转换回来,工作正常,但我无法显示标题屏幕,尽管更改了GameViewController.swift中的代码:

class GameViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

    //Original default code:
    //if let scene = GameScene(fileNamed:"GameScene") {
    //modified code
        if let scene = Titles(fileNamed:"Titles") {
            //<...more code...>
        }
class GameViewController:UIViewController{
重写func viewDidLoad(){
super.viewDidLoad()
//原始默认代码:
//如果让场景=游戏场景(文件名为:“游戏场景”){
//修改代码
如果让场景=标题(文件名为:“标题”){
//
}
应用程序仍在运行,但只是显示一个空白屏幕。我注意到GameSecene文件还有一个GameSecene.sks,我认为它是场景内容的图形表示。我是否需要创建另一个.sks或将其链接到新的默认场景,即使场景内容是以编程方式添加的

我可以简单地将所有的代码从游戏场景移动到一个新的场景,并使用游戏场景作为标题,但我对这个问题以及如何解决它感到好奇。有什么想法吗

非常感谢,,
Kw

是-使用名为的“
文件”初始化场景会引用一个.sks文件,因此您应该创建一个

在这一行代码中:

let scene = Titles(fileNamed:"Titles")
您正在创建一个名为
scene
的新场景对象,类型为
Titles
。该对象应与swift文件中的类名相匹配,即在
Titles中。swift
您应具有:

class Titles: SKScene {
fileNamed
:只是
SKSCene
的众多初始化器之一,它指定要加载的.sks文件。如果要以编程方式将所有内容放置在场景中,可以使用:

let scene = Titles(size: CGSize(width: 1536, height: 2048))
这个问题及其公认的答案可能有助于解决您可能遇到的任何潜在问题-