1

我正在使用 Cocos2D 为 iOS 构建游戏。在我的游戏中,我有一个暂停菜单,可以在玩游戏时拉起。一个简单的点击将从暂停菜单返回到游戏。applicationDidBecomeActive如果调用该方法,我想实现的是一种在暂停菜单上恢复游戏的干净方法。问题是只有 appDelegate 收到对 的调用applicationDidBecomeActive,而我的暂停菜单比这更深。现在,我基本上是applicationDidBecomeActive通过大约 4 个不同的层将调用传递到暂停菜单。必须有更清洁的方法吗?

4

3 回答 3

3

当然是。UIApplicationDidBecomeActiveNotification只需从任何方便的地方添加观察者即可。应用程序状态更改可以通过这种方式以及通过应用程序的委托进行挂钩。

文档在这里。

于 2013-02-17T21:35:10.643 回答
1

在此处Apple阅读有关 NSNotificationCenter 的 信息,或者在任何地方接收UIApplicationDidBecomeActiveNotification

于 2013-02-17T21:36:26.973 回答
1

在 appdelegate.h 中获取一个带有属性的 BOOL 变量并合成它,然后当从任何场景按下暂停按钮时,将此变量设置为是。在 appdelegate 的 applicationDidBecomeActive 方法中检查 if(self.pause == YES) 然后不要恢复 ccdirector 否则恢复它我在我的游戏中使用了它,当我按下暂停然后按下主页按钮时它工作正常,当回来时应用程序是仍然暂停。试试这个

于 2013-02-20T05:55:25.587 回答