0

我的游戏有一个小问题。我想在游戏中断时停止游戏。

当我在使用 xib 文件时调用它时,我的stopGame方法正在工作。applicationWillResignActive当我将它更改为情节提要时,它停止工作..applicationWillResignActive仍然适用于情节提要并且我的stopGame方法被调用,但由于某种原因,我的游戏并没有停止..

有人遇到过这样的问题吗?并请可能的解决方案..提前谢谢..

一些代码

应用代表:

- (BOOL) application: (UIApplication *) application
didFinishLaunchingWithOptions: (NSDictionary *) launchOptions
{    
        mainViewController = [[MainViewController alloc] init];

        [self.window addSubview: mainViewController.view];
        [self.window makeKeyAndVisible];

        return YES;
}


- (void) applicationWillResignActive: (UIApplication *) application
{    
    [mainViewController stopGame];
}

主视图控制器

- (IBAction) stopGame
{
        self.gameRunning = NO;
        [currentLevel deactivate];
}

1级

- (void) deactivate
{
        [levelTimer invalidate];
        levelTimer = nil;
}
4

1 回答 1

0

当您使用故事板时,应用程序的默认主入口点是故事板,从最初的 viewController(带有来自故事板左边距的箭头的那个)开始。在应用程序启动时,初始视图控制器未归档、初始化,并且其视图动态添加到主窗口。因此,您在 applicationDidFinishLaunching 中的代码正在分配另一个VC,这与应用程序加载的不同。由于这个原因,您将 stopGame 消息发送到错误的 VC。从 applicationDidFinishLaunching 和 applicationWillResignActive 中删除所有引用 mainViewController 的代码,然后在 applicationWillResignActive 中添加:

[(MainViewController *)self.window.rootViewController stopGame];
于 2012-11-16T21:48:44.327 回答