Cocos とアクティビティのインタラクティブ ページの黒い画面

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() が実行されないため、ライフ サイクルによりゲーム ページのレンダリングが失敗し、画面が黒くなります。

おすすめ

転載: blog.csdn.net/zhao8856234/article/details/125766989