2

AndEngine Gles2 でゲームを開発しています。スプラッシュ シーン、ローディング シーン、メニュー シーン、Level1 シーンがあります。スクリーン マネージャーを使用して、スプラッシュ、ローディング、メニュー シーンを簡単に切り替えることができるすべてのシーンを管理しています。level1 シーンもメニューから完全にロードされますが、レベル、スクリーンの完了時にメニュー シーンに戻ると問題が発生します。黒くなり、その後は何も表示されません。問題は Level1 のリソースのアンロードにあると思いますが、他のシーンとの切り替えは完璧です。非常に長いため、完全なコードを提供することはできません。

私は bitmapTexture リージョン、スプライト、ボディ、物理 Word、hud、フィクスチャなどを使用しています。これが私のアンロード方法です。レベル 1 の画面の終わりにメニュー シーンをロードすると、もう 1 つ画面が黒くなりますが、音楽は再生され、すべてのログは、メニュー シーンで設定した logcat に表示されます。

unload(){
setChildrenIgnorUpdate();
clearChildScene();
clearEntityModifier();
clearTouchAreas();
clearUpdateHandler();
BitmapTextureManager.getInstance().destroyInstance();
destroyPhysics();
}  

助けてください...

4

2 に答える 2

0

あなたの問題はここにあると思います

BitmapTextureManager.getInstance().destroyInstance();

メニュー シーンに戻ったときに、テクスチャ リソースを再初期化していますか? すべてが機能しているように聞こえますが、テクスチャは破壊されています。

于 2013-03-05T23:32:29.887 に答える
0

テクスチャをアンロードすると問題が発生すると思います。

私の意見では、シーンの読み込み時にゲームのすべてのグラフィックを読み込みます。次に、グラフィックをアンロードしないでください。アンロードして再度ロードするだけでレベルごとに変化するゲームシーンのグラフィックのみと言いたいです。

すべてのグラフィックをアンロードして再度ロードしないでください。ゲームの修正であり、デバイスのグラフィックスメモリに保持されるのは一度だけロードします。

グラフィック メモリのオーバーフローは、この種の異常な動作を引き起こします。

于 2013-03-12T16:36:03.967 に答える