cocos2d-x暂停游戏在背景上暂停屏幕

cocos2d-x暂停游戏在背景上暂停屏幕,cocos2d-x,Cocos2d X,我试图弄清楚如何在后台实现暂停屏幕。在我的游戏场景中,我有一种叫做pauseGame的方法。我将其设置为用户可以在播放时单击暂停按钮,然后弹出菜单询问他们是否要继续或转到主菜单。现在,当手机进入后台时,我想在我的游戏场景中也调用相同的功能,这样它将显示该菜单,这样当用户返回应用程序时,他们将能够恢复,而不是自动启动。我已经在谷歌上搜索了几个小时,尝试了一些方法,但我唯一能想到的是从应用程序代理中调用directors pause方法。这就是正在发生的一切,但我需要调用游戏场景中的pauseGam

我试图弄清楚如何在后台实现暂停屏幕。在我的游戏场景中,我有一种叫做pauseGame的方法。我将其设置为用户可以在播放时单击暂停按钮,然后弹出菜单询问他们是否要继续或转到主菜单。现在,当手机进入后台时,我想在我的游戏场景中也调用相同的功能,这样它将显示该菜单,这样当用户返回应用程序时,他们将能够恢复,而不是自动启动。我已经在谷歌上搜索了几个小时,尝试了一些方法,但我唯一能想到的是从应用程序代理中调用directors pause方法。这就是正在发生的一切,但我需要调用游戏场景中的pauseGame方法。是否有我可以在游戏场景中收听的事件,或者是否有方法从appdelegate调用我的暂停。我似乎找不到这个问题的答案。

App Delegate有一个函数,void AppDelegate::applicationdenterbackground,每次App进入后台时都会调用它

您可以使用以下命令访问当前场景:

Director::getInstance->getRunningScene;cocos2d-X3.0 CCDirector::sharedInstance->getRunningScene;cocos2d-x2.x//不完全确定语法,请检查 在正确的类型转换和导入适当的头文件之后,您可以从这里调用所需的函数

而且, AppDelegate还具有void AppDelegate::applicationWillEnterForeground,每次应用程序进入前台时都会调用该函数。

void AppDelegate::applicationWillEnterForeground在应用程序实际暂停之前调用,但场景堆栈上的任何更改都会在下一次更新中提交,在void AppDelegate::applicationWillEnterForeground之前未调用的。