Swift多个场景

时间:2014-11-22 15:40:12

标签: swift sprite-kit

我做了一个快速的SpriteKit游戏,但现在我想添加一个菜单场景(最终是一个失败的场景)。所以我做的是

  1. 我创建了一个名为菜单场景的新场景。

  2. 我编辑了GameViewController并将其更改为加载菜单场景(工作正常)。

  3. MenuScene.swift 中我添加了一些代码,所以当点击一个精灵时它会运行这段代码:

    let reveal = SKTransition.flipHorizontalWithDuration(0.5)
    
    let scene = GameScene(size: size)
    
    self.view?.presentScene(scene, transition:reveal)
    
  4. 但是当我点击按钮时,它会翻转到下一个场景并立即崩溃。

    所以我的问题是:我是以正确的方式做到这一点,如果我为什么会崩溃?

3 个答案:

答案 0 :(得分:1)

事实证明我没有删除粒子发射器,因此我在转换之前输入了一些代码来删除它并且它有效。

答案 1 :(得分:-1)

如果你这样做,它应该有效:

let reveal = SKTransition.flipHorizontalWithDuration(0.5)
let scene = GameScene(size: self.frame.size)
let skView = view as SKView!
skView.presentScene(scene, transition:reveal)

我希望这适合你。

答案 2 :(得分:-2)

由于您使用的是精灵套件,因此使用错误:

self.view?.presentScene(scene, transition:reveal)

您应该执行以下操作:

let scene = GameScene(size: view.bounds.size)
let skView = view as SKView

//skView.showsFPS = true
//skView.showsNodeCount = true
//skView.ignoresSiblingOrder = true
//scene.scaleMode = .ResizeFill

skView.presentScene(scene, transition:reveal)