从SKscene(SpriteKit)演示UIViewController

互联网上有几个post要求如何正确结合SpriteKit和Storyboard / Interface构build器。 特别是没有人能够从SKscene移动到所需的UIViewController。 networking上没有解决scheme真的解决这个问题! 这是不是真的可以做到这一点? 如果是这样,这将是一个SpriteKit的重大限制…

你不能直接从SKScene移动到另一个UIViewController

但是, SKScene已经包含在一个UIViewController

您可以使用delegation将场景中的方法调用传递给其控制器。 控制器然后可以移动到另一个视图控制器。

所以…

  1. 创build一个委托协议,其中包含一些方法,如… - (void)transitionToOtherViewController;

  2. 将当前视图控制器设置为场景的代表。

    self.scene.delegate = self;

  3. 当你想移动到另一个视图控制器。 在现场,你会有像…

    [self.delegate transitionToOtherViewController];

然后在视图控制器中,你有…

 - (void)transitionToOtherViewController { MyOtherViewController *controller = [MyOtherViewController new]; [self.navigationController pushViewController:controller animated:YES]; } 

或者像这样的东西…