应用程序激活后,iOS正确恢复

时间:2013-02-17 21:31:50

标签: ios cocos2d-iphone

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

3 个答案:

答案 0 :(得分:3)

当然可以。只需在方便的地方添加UIApplicationDidBecomeActiveNotification的观察者。应用程序状态更改可以通过该方式以及通过应用程序的委托进行连接。

Docs here.

答案 1 :(得分:1)

了解NSNotificationCenter <{3}}和here或只是在任何地方接收at Apple

答案 2 :(得分:1)

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