9

スプライト キット SKScene レイヤー内からセグエを実行しようとしています。私のアプリケーションでは、ユーザーが新しい UIViewController をプッシュするシーン上の画像に触れる必要があります。しかし、SKScene ゲーム レイヤー内から実行しようとするたびに、出力に has no segue with identifier エラーが表示されます。セグエがあり、識別子で指定しました。

私の簡単な質問ですが、SKScene ゲーム レイヤーが実行されている状態でセグエを実行するにはどうすればよいですか? 私を助けてください。

4

2 に答える 2

10

セグエは、SpriteKit シーンではなく、View Controller に属します。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 に答える