9

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

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

4

2 回答 2

10

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

UIViewController *vc = self.view.window.rootViewController;
[vc performSegueWithIdentifier:@"id" sender:nil];
于 2013-10-02T17:14:41.683 回答
4

斯威夫特版本:

self.view!.window!.rootViewController!.performSegueWithIdentifier("gameOverSegue", sender: self)
于 2015-11-09T10:35:47.227 回答