ios - 进入后台暂停游戏

标签 ios objective-c gamekit

当用户进入后台时,我试图让我的游戏暂停(同时保存游戏的当前状态,如计时器值和分数)。我知道我必须在
- (void)applicationDidEnterBackground:(UIApplication *)application方法

但我不知道该怎么做。我猜我首先必须检查用户当前所在的当前 View Controller 是否是游戏场景,然后,如果是,我调用暂停方法。我有正确的想法吗?我不知道如何访问当前的 View Controller 。任何人都可以解释一下吗?

最佳答案

子类 UINavigationController 并将 View Controller 添加为 UIApplicationDidEnterBackgroundNotification 的观察者

@interface GameViewController : UIViewController
@end

@implementation GameViewController
- (void) init {
   self = [super init];
   if (self) {
      [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(saveGameState) name: UIApplicationDidEnterBackgroundNotification object: nil];
   }
}

- (void) delloc {
   [[NSNotificationCenter defaultCenter] removeObserver: self name: UIApplicationDidEnterBackgroundNotification object: nil];
}

- (void) saveGameState {
//do the things you neeed to do
}
@end

关于ios - 进入后台暂停游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24160106/

相关文章:

objective-c - 以编程方式找出youtube嵌入式播放器中的全屏按钮

ios - 如何在不使用 AudioSessionSetProperty 的情况下将音频路由到扬声器?

iphone - 游戏中心。如何更改排行榜中显示点的外观?

ios - 我可以在 iOS 7 上手动提示用户登录 Game Center 吗?

iphone - Facebook 单点登录 (SSO) 停止授权现有的 iPhone 应用程序

objective-c - Nib 中的原型(prototype)单元而不是 Storyboard

ios - 单点触控 : consecutive views

ios - 在基于 UINavigationController 的应用程序中切换 UIStatusBar 颜色(黑色/白色)

苹果手机 : FBConnect Auto post to user wall

ios - 使用 Gamekit 时如何通过 WiFi 建立连接?