我想弄清楚如何在背景上实现暂停屏幕。在我的游戏场景中,我有一个名为pauseGame的方法。我进行了设置,以便用户在播放时点击暂停按钮,菜单出现,询问他们是否要恢复或进入主菜单。现在,当手机进入后台时,我想在我的游戏场景中调用同样的功能,这样它就会显示该菜单,这样当用户回到应用程序时,他们将能够恢复而不是自动启动。我已经用Google搜索了几个小时并试了几件事,但我唯一能想到的就是从app delegate调用director pause()方法。这是发生了什么,但我需要调用我的游戏场景的pauseGame方法。是否有我可以在游戏场景中收听的事件,或者是否有办法从appdelegate调用我的暂停。我似乎无法找到这个答案。
答案 0 :(得分:0)
App Delegate具有此功能,void AppDelegate::applicationDidEnterBackground()
,每次应用进入后台时都会调用该功能。
您可以使用此功能访问当前场景,
Director::getInstance()->getRunningScene();
cocos2d-x 3.0 CCDirector::sharedInstance()->getRunningScene();
cocos2d-x 2.x //不完全确定语法,请检查在正确的类型转换并导入相应的头文件后,您可以从此处调用所需的函数。
另外,
AppDelegate也有,AppDelegate::applicationWillEnterForeground()
,每次应用程序进入前台时都会调用它。