2013-10-18 41 views
0

如何从SKScene弹出到rootViewController?sprite kit根视图控制器

即时尝试建立一个菜单画面的游戏。 有两个场景 - 一个用于菜单,一个用于游戏。

我有从跳转到根视图从游戏场景的问题。 游戏场景有SKScene和菜单按钮 - SKLabelNode。 当被触摸时,它应该将玩家移动到菜单屏幕。

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 

    UITouch *touch = [touches anyObject]; 
    SKNode *touched = [self nodeAtPoint:[touch locationInNode:self]]; 
    if ([touched.name isEqualToString:BUTTON_MENU_NAME]) { 

     UIViewController *vc = self.view.window.rootViewController; 
     [vc.navigationController popToRootViewControllerAnimated:YES]; 
    } 
} 

触摸被正确检测到但没有任何反应。

+0

应该是:'appdelegate.window.rootViewController' – samfisher

+0

@samfisher仍然是相同的 - 不工作 – Maq

+0

设置你的项目是这样http://stackoverflow.com/questions/19258567/integrating-a-spritekit-view-into-a-xib-view/19266956#19266956 – DogCoffee

回答

1

大概初始视图控制器导航控制器,所以我建议做:

UINavigationController *vc = (UINavigationController *)appdelegate.window.rootViewController; 
[vc popToRootViewControllerAnimated:YES]; 
+0

是的,它是:)现在的作品,thx – Maq

+0

后把头发拉出你的答案真是太棒了!我不得不改变它。 UINavigationController * vc =(UINavigationController *)self.view.window.rootViewController; [vc popToRootViewControllerAnimated:YES]; – Jeff