簡體   English   中英

從GameScene到ViewController的Segue

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM