cocos2d-x暂停游戏背景与暂停屏幕

时间:2014-07-27 16:41:31

标签: cocos2d-x

我想弄清楚如何在背景上实现暂停屏幕。在我的游戏场景中,我有一个名为pauseGame的方法。我进行了设置,以便用户在播放时点击暂停按钮,菜单出现,询问他们是否要恢复或进入主菜单。现在,当手机进入后台时,我想在我的游戏场景中调用同样的功能,这样它就会显示该菜单,这样当用户回到应用程序时,他们将能够恢复而不是自动启动。我已经用Google搜索了几个小时并试了几件事,但我唯一能想到的就是从app delegate调用director pause()方法。这是发生了什么,但我需要调用我的游戏场景的pauseGame方法。是否有我可以在游戏场景中收听的事件,或者是否有办法从appdelegate调用我的暂停。我似乎无法找到这个答案。

1 个答案:

答案 0 :(得分:0)

App Delegate具有此功能,void AppDelegate::applicationDidEnterBackground(),每次应用进入后台时都会调用该功能。

您可以使用此功能访问当前场景,

  • Director::getInstance()->getRunningScene(); cocos2d-x 3.0
  • CCDirector::sharedInstance()->getRunningScene(); cocos2d-x 2.x //不完全确定语法,请检查

在正确的类型转换并导入相应的头文件后,您可以从此处调用所需的函数。

另外, AppDelegate也有,AppDelegate::applicationWillEnterForeground(),每次应用程序进入前台时都会调用它。