【问题标题】:How to perform segue from within a SKScene?如何从 SKScene 中执行 segue?
【发布时间】:2013-10-02 17:04:03
【问题描述】:

我一直在尝试从 sprite kit SKScene 层中执行转场。我的应用程序要求用户触摸场景上的图像,这会推动一个新的 UIViewController。但是每次我尝试从 SKScene 游戏层中执行时,它都会给我输出没有标识符错误的 segue。我确实有一个 segue 并用标识符指定了它。

我的简单问题是,如何在运行 SKScene 游戏层的情况下进行 segue?请帮帮我。

【问题讨论】:

    标签: iphone ios objective-c segue sprite-kit


    【解决方案1】:

    Segue 属于视图控制器,而不是 SpriteKit 场景。如果您想从 SpriteKit 节点的事件处理代码中执行转场,您需要查找拥有呈现场景的视图的视图控制器。例如,在SKScene 子类'touchesBegan:withEvent: 方法中:

    UIViewController *vc = self.view.window.rootViewController;
    [vc performSegueWithIdentifier:@"id" sender:nil];
    

    【讨论】:

    • 这对我不起作用,我不得不在这里使用答案:stackoverflow.com/questions/27053436/…
    • @RachelHarvey:对不起,我的答案中的代码只是如何获得可以从中进行选择的 VC 的一个示例。你真正需要的是一个拥有场景并拥有你正在寻找的segue的视图控制器——如果你的SKScene出现在选项卡视图控制器或导航控制器内的视图控制器中,根VC可能是' t 有你的转场。
    【解决方案2】:

    斯威夫特版本:

    self.view!.window!.rootViewController!.performSegueWithIdentifier("gameOverSegue", sender: self)
    

    【讨论】:

    • 请在你的回答中添加一些解释!
    猜你喜欢
    • 1970-01-01
    • 2017-12-06
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多