[英]Segue from GameScene to a viewController Swift 3
我需要從GameScene到UIViewController進行選擇。 到目前為止,我的代碼如下:
在GameViewController.swift中,我添加了:
if let view = self.view as! SKView? {
if let scene = SKScene(fileNamed: "GameScene") {
scene.scaleMode = .aspectFill
scene.viewController = self
view.presentScene(scene)
}
...
並且在我的GameScene.swift中添加了
class GameScene: SKScene, SKPhysicsContactDelegate {
var viewController: UIViewController?
...
以及
func returnToMainMenu(){
self.viewController.performSegueWithIdentifier("push", sender: viewController)
}
所以我的問題是,當我聲明-scene.viewController = self時,出現錯誤,提示“類型為'SKScene'的值沒有成員'viewController'”。 我該怎么做才能解決此問題?
問題在於viewController
屬性是在GameScene
聲明的,但是在創建場景時,其類型為SKScene
。 解決該問題的簡單方法是將場景初始化為GameScene
然后您將可以訪問GameScene
聲明的成員。
if let scene = GameScene(fileNamed: "GameScene") {
// Other code
scene.viewController = self
}
另外,您應該在返回主菜單時嘗試退出退出,但這是另一個主題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.