【发布时间】:2016-06-22 12:53:29
【问题描述】:
当您在 swift 中创建新游戏文件时,默认情况下,您会在 main.storyboard 上获得一个 GameScene.swift 文件、一个 GameViewController.swift 文件和一个 UIViewController。在我的代码中,我创建了另一个 SKScene(类似于已经存在的 GameScene),我无法将它链接到我在 main.storyboard 上的另一个 UIViewController。我想这样做是因为我需要从我的 GameScene 到这个新场景,然后到我的 Main ViewController / Initial Viewcontroller
如何正确链接 SKScene 和 ViewController?
下面是 EndSceneViewController.swift 文件,然后是我要链接到的 EndScene.swift 文件。
import UIKit
import SpriteKit
class EndSceneVC: UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
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
}
}
import SpriteKit
class EndScene : SKScene {
var viewController : UIViewController?
override func didMoveToView(view: SKView) {
print("hello")
}
}
【问题讨论】: