我在cocos2d-x中有一个应用程序。我希望我的应用程序应始终运行,直到手动停止。但是当进入后台时它会暂停,当它返回时它会恢复。我删除了代码
CCDirector::sharedDirector()->pause();
CCDirector::sharedDirector()->resume();
来自Appdelegate.cpp函数的(applicationDidEnterBackground()和applicationDidEnterForeground())。但是我的应用程序在进入后台时仍然暂停。我希望我的应用程序应该只在我接到电话或手动暂停我的应用程序时暂停,直到或除非它应该在后台运行。请我解决这个问题。
答案 0 :(得分:0)
以下是您的应用进入后台后会发生的事情
班级名称>>> Cocos2dxActivity.java
@Override
protected void onPause() {
super.onPause();
Cocos2dxHelper.onPause();
this.mGLSurfaceView.onPause();
}
我认为代码是自我解释的,即当它进入后台时它会暂停你的应用程序(onPause的整个目的),你提到的ApplicationDelegate方法只是当活动进入后台/前景时调用的JNI函数,以便你可以在那里做游戏相关的东西。您可能知道CCDirector的暂停仅暂停运行场景(预定计时器)并将绘制速率更改为4 FPS以减少CPU消耗。
因此,在Appdelegate中删除对CCDirector的暂停/恢复调用无助于实现这些目标。为此,您必须覆盖我上面提到的方法和相关方法,并停止活动暂停。