4

我正在使用 Cocos2D 为 iOS 编写游戏。我已经实现了一个暂停功能,允许用户根据请求暂停菜单。当接收到applicationWillResignActive. OnapplicationWillEnterForeground并且applicationDidBecomeActive我恢复主游戏循环,但随后将播放器放入暂停菜单,迫使他们在准备好时恢复。除了一种情况外,一切似乎都运行良好。当收到日历事件警报(我假设是 UIAlert)时,游戏不会弹出暂停菜单或暂停游戏。

我的三个问题:我必须同时包含willEnterForegrounddidBecomeActive,还是其中一个足以满足我的目的?我必须安排什么电话来接收 UIAlerts(如果这实际上是在上述情况下触发我的错误的原因),我应该如何处理它们?有什么方法可以模拟 UIAlert 以便我可以测试/调试?

非常感激。


编辑 -

问题在于我对上述事件的整体处理。正如苹果文档中明确说明的那样,willResignActive用于暂停游戏(即抛出暂停菜单并停止游戏循环),并didEnterForeground恢复游戏循环,但保持暂停菜单向上。通过以这种方式处理事件,无需安排接收 UIAlerts 或本地/远程通知。

4

1 回答 1

0

当您收到日历事件时,您将收到 applicationWillResignActive: 的调用,这是处理 cocos2D 暂停或您在日历事件接收时想做的任何其他事情的地方。如果日历事件被忽略,将调用 applicationDidBecomeActive。如果没有被忽略,那么你将不得不从你正在做的事情中恢复。

于 2013-03-19T06:43:45.423 回答