我正在使用Cocos2D为iOS编写游戏。我已经实现了一个暂停功能,允许用户根据请求使用暂停菜单。我还在收到applicationWillResignActive
时实现完全暂停(取消安排主游戏循环)。在applicationWillEnterForeground
和applicationDidBecomeActive
我恢复主游戏循环,但然后将玩家扔进暂停菜单,迫使他们在准备好后恢复。除了一种情况外,一切似乎都运作良好。当接收日历事件警报(我假设是UIAlert)时,游戏不会抛出暂停菜单或暂停游戏。
我的三个问题:我必须同时包含willEnterForeground
和didBecomeActive
,还是我的目的足够好?我必须安排接收UIAlerts的电话是什么(如果事实上是在上述情况下是什么触发了我的错误),我应该如何处理它们?有没有办法模拟UIAlert所以我可以测试/调试?
非常感谢。
编辑 -
问题在于我对所述事件的整体处理。在Apple的文档中明确说明,使用willResignActive
暂停游戏(即抛出暂停菜单并停止游戏循环),然后didEnterForeground
恢复游戏循环,但保留暂停菜单起来。通过这种方式处理事件,无需安排接收UIAlerts或本地/远程通知。
答案 0 :(得分:0)
当您获得日历活动时,您将收到applicationWillResignActive的电话:这是一个处理cocos2D暂停的地方或您想要在日历活动接收时做的任何其他事情。如果忽略calender事件,则会调用applicationDidBecomeActive。如果不被忽略,那么你将不得不从你正在做的事情中恢复。