Cocos ゲームが Android ページにネストされた後、Android ダイアログが上部に、Cocos ゲーム インターフェイスが下部に表示されます。
画面をロックするか背景に切り替えてからアプリを再度開くと、ダイアログの背景が黒になります。 , ただし、Android インターフェースのダイアログは正常に表示されます。
解決:
これを解決するには、次のコードを Cocos2dxActivity に追加します。
@Override
protected void onRestart() {
super.onRestart();
Cocos2dxHelper.onResume();
mGLSurfaceView.onResume();
}
@Override
protected void onStop() {
super.onStop();
Cocos2dxHelper.onPause();
mGLSurfaceView.onPause();
}
レンダリングの比較:
通常の表示:
画面をロックした後、または表と裏を切り替えた後の黒い画面効果:
原理分析:
Cocos ゲームの Cocos2dxActivity クラスのライフサイクル監視です。SDK インターフェイスがポップアップした後、画面がロックされたり、前後のスイッチが繰り返し切り替わります。ステートメントのサイクルは次のとおりです。本質的には、Cocos2dxActivity が OnPause() を実行しないためです。バックグラウンドに切り替えるときに onRessume() が実行されず、再起動時に onRessume() が実行されないため、ライフ サイクルによりゲーム ページのレンダリングが失敗し、画面が黒くなります。