Swift 2游戏主菜单

时间:2017-04-07 15:50:32

标签: ios sprite-kit swift2

我正在尝试为我的Spritekit游戏实现主菜单,但每当我尝试呈现场景时,我都会得到一个空白的灰色屏幕。这是现在的代码,它呈现游戏本身而不是菜单:

class GameViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    if let scene = GameScene(fileNamed:"GameScene") {

        let skView = self.view as! SKView
        skView.showsFPS = true
        skView.showsNodeCount = true
        skView.showsDrawCount = true

        skView.ignoresSiblingOrder = true

        scene.scaleMode = SKSceneScaleMode.AspectFill
        skView.presentScene(scene)

    }
}

我是新手,我不知道该怎么做所以我尝试用菜单场景取代GameScene,这给了我灰色的屏幕。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用此代码加载仅在代码中创建而不在场景编辑器中创建的SKScene文件

override func viewWillLayoutSubviews() {

    super.viewWillLayoutSubviews()

    if let skView = self.view as? SKView {

        if skView.scene == nil {

            let scene = MenuScene(size: skView.bounds.size)

            skView.showsFPS = false
            skView.showsNodeCount = true
            skView.showsPhysics = true
            skView.ignoresSiblingOrder = true

            scene.scaleMode = .aspectFill

            skView.presentScene(scene)
        }
    }
}

然后在你的MenuScene文件中你需要一个init func

init(size: CGSize) {

    super.init(size: size)

    name = "menuScene"
}