我做了一个快速的SpriteKit
游戏,但现在我想添加一个菜单场景(最终是一个失败的场景)。所以我做的是
我创建了一个名为菜单场景的新场景。
我编辑了GameViewController
并将其更改为加载菜单场景(工作正常)。
在 MenuScene.swift 中我添加了一些代码,所以当点击一个精灵时它会运行这段代码:
let reveal = SKTransition.flipHorizontalWithDuration(0.5)
let scene = GameScene(size: size)
self.view?.presentScene(scene, transition:reveal)
但是当我点击按钮时,它会翻转到下一个场景并立即崩溃。
所以我的问题是:我是以正确的方式做到这一点,如果我为什么会崩溃?
答案 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)