0

如何从 SKScene 弹出到 rootViewController?

我正在尝试用菜单屏幕构建游戏。有两个场景 - 一个用于菜单,一个用于游戏。

我在从游戏场景跳转到 rootView 时遇到问题。游戏场景有带有菜单按钮的 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];
    }
}

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

4

1 回答 1

2

最初的视图控制器可能是导航控制器,所以我建议这样做:

UINavigationController *vc = (UINavigationController *)appdelegate.window.rootViewController;
[vc popToRootViewControllerAnimated:YES];
于 2013-10-18T20:17:55.873 回答