从SKscene(SpriteKit)呈现UIViewController

时间:2014-05-29 09:56:38

标签: ios iphone storyboard interface-builder sprite-kit

互联网上有几篇帖子询问如何正确组合SpriteKit和Storyboard / Interface构建器。特别是没有人能够从SKscene移动到期望的UIViewController。网上的解决方案没有真正解决这个问题!这真的不可能吗?如果是这样,那将是SpriteKit的重大限制......

1 个答案:

答案 0 :(得分:3)

您无法直接从SKScene移至另一个UIViewController

但是,SKScene中的UIViewController已经包含

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

因此...

  1. 创建一个委托协议,其中包含类似...... - (void)transitionToOtherViewController;

  2. 的方法
  3. 将当前视图控制器设置为场景的委托。

    self.scene.delegate = self;

  4. 当您想要移动到另一个视图控制器时。在场景中你会有类似......

    [self.delegate transitionToOtherViewController];

  5. 然后在视图控制器中你有......

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

    或类似的东西......