Nachdem das Cocos-Spiel auf der Android-Seite verschachtelt ist, befindet sich das Android-Dialogfeld oben und die Cocos-Spieloberfläche unten.
Sperren Sie den Bildschirm oder wechseln Sie in den Hintergrund und öffnen Sie dann die App erneut. Der Hintergrund des Dialogs wird schwarz , aber der Android-Schnittstellendialog wird normal angezeigt.
Lösung:
Fügen Sie den folgenden Code zu Cocos2dxActivity hinzu, um das Problem zu lösen.
@Override
protected void onRestart() {
super.onRestart();
Cocos2dxHelper.onResume();
mGLSurfaceView.onResume();
}
@Override
protected void onStop() {
super.onStop();
Cocos2dxHelper.onPause();
mGLSurfaceView.onPause();
}
Vergleich der Renderings:
normale Anzeige:
Schwarzer Bildschirmeffekt nach Sperren des Bildschirms oder Umschalten zwischen Vorder- und Rückseite:
Prinzipanalyse:
Die Cocos2dxActivity-Klassen-Lebenszyklusüberwachung von Cocos-Spielen: Nach dem Öffnen der SDK-Schnittstelle wird der Bildschirm gesperrt oder die vorderen und hinteren Schalter werden wiederholt umgeschaltet. Der Anweisungszyklus ist wie folgt. Im Wesentlichen liegt dies daran, dass Cocos2dxActivity OnPause( nicht ausführt) ) beim Wechsel in den Hintergrund und führt beim Neustart nicht onRessume() aus. Der Lebenszyklus führt dazu, dass die Spieleseite nicht gerendert werden kann, sodass der Bildschirm schwarz ist.