我正试图让它在电池警告弹出或有来电时暂停我的游戏。我知道这个中断之一的方法是“applicationWillResignActive:”,但这是我的问题。我当前的Pause方法是在我的自定义Game类中,我不知道如何从应用程序委托中调用它,或者我还应该做些什么。谢谢!
答案 0 :(得分:2)
使用通知中心向您的代码的其他部分发送消息。收到applicationWillResignActive:
电话后,您会向通知中心发送消息:
[[NSNotificationCenter defaultCenter] postNotificationName:@"pauseGame" object:self];
然后,您将游戏代码设置为侦听这些通知(初始化游戏时):
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(receivePauseNotification:)
name:@"pauseGame"
object:nil];
您将从此处调用的方法只需要暂停游戏,但是应该根据您自己的代码执行此操作:
- (void) receivePauseNotification:(NSNotification *) notification
{
if (![[notification name] isEqualToString:@"pauseGame"])
{
NSLog (@"Error; unknown notification received");
return;
}
// pause the game here.
}
答案 1 :(得分:1)
使用NSNotificationCenter
设置通知。调用applicationWillResignActive:
时会触发通知。然后,您的自定义游戏类应设置为通知的观察者,并在通知进入时暂停游戏。以下是使用NSNotificationCenter
的信息:
这是一个堆栈溢出问题,也显示了如何使用它: How to use NSNotification
还有许多在线教程解释了如何使用它。