In meinem GameViewController habe ich zwei Szenen, eine ist die GameScene und eine andere ist eine Szene (EndScene), auf die geschaltet wird, wenn der Spieler stirbt. Im ersten Code-Block unten ist meine EndScene-Szene, die zu meinem Hauptmenü-Viewcontroller wechseln soll, aber aus irgendeinem Grund nicht. Ich bekomme keine Fehler oder ähnliches, es bleibt nur auf Endscene. Im zweiten Codeblock befindet sich meine GameViewController.swift-Datei. Kann jemand darauf hinweisen, was ich hier falsch mache und was ich tun kann, um es zu beheben?Probleme mit SKScenes und Seguing zu ViewControllern SpriteKit
EndScene.swift
import SpriteKit
class EndScene : SKScene {
var viewController : UIViewController?
override func didMoveToView(view: SKView) {
self.segue()
}
func segue() {
self.viewController?.performSegueWithIdentifier("gameToMain", sender: viewController)
}
}
GameViewController.swift
import UIKit
import SpriteKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
scene.viewController = self
skView.presentScene(scene)
}
if let scene = EndScene(fileNamed: "EndScene"){
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve
rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
scene.viewController = self
skView.presentScene(scene)
}
}
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return .AllButUpsideDown
} else {
return .All
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
override func prefersStatusBarHidden() -> Bool {
return true
}
}
Possibl e Duplikat von [Präsentiert einen UIViewController von einem SKscene (SpriteKit)] (http://stackoverflow.com/questions/23930592/presenting-a-uiviewcontroller-from-an-kscene-spritekit) –