我怎样才能从SKScene切换到UIView

时间:2014-04-01 18:29:27

标签: uiview storyboard sprite-kit

我使用Sprite工具包框架来创建游戏。 我的第一个场景是MyScene.My Scene是一个菜单,但我想点击开始时从故事板切换到第一个视图。

这是我切换到另一个SKScene的方式

Scene001 *start = [[Scene001 alloc] initWithSize:self.size];
        SKTransition *reveal = [SKTransition fadeWithColor:[UIColor clearColor] duration:0.5];
        [self.scene.view presentScene: start transition: reveal];

现在的问题是如何切换到故事板场景,反之亦然。

1 个答案:

答案 0 :(得分:0)

我知道这已经过时了,但只是想让某人遇到它并需要答案:

我在游戏中所做的是让我的GameViewController成为SKScene的代表。当用户完成SKScene时,我在GameViewController中调用了我的委托函数,它只执行performSegueWithIdentifier。 你创建场景的viewController可以运行segue。因此,您需要一种方法从SKScene返回它。只需使您的SKScene成为委托,当您的viewController创建它时,设置委托。然后,当您想要切换时,请调用委托功能。

这是我创建场景的GameViewController:

 - (void)viewWillAppear:(BOOL)animated {
        SKView * skView = (SKView *)self.view;

        if (!skView.scene) {  
            MyScene *scene = [MyScene sceneWithSize:self.view.bounds.size];
            scene.delegate = self;
            [skView presentScene:scene];
        }
    }

 // A delegate function
    - (void)onExitGame {
       [self performSegueWithIdentifier:@"GoToNextScene" sender:self];
    }

当你准备好切换故事板时,从我的MyScene调用委托函数:

if (self.delegate) {
  self.delegate.onExitGame();
}