「ロード画面」を使用しない/使用できないゲームがあります。AssetManager
広告が表示された後、または IAP プロセスが発生した後、基本的に OpenGL コンテキストが変更されるたびに、その場でアセットをロードするのに問題があります。
AssetManagerの wiki 記事に従いましたが、「新しい」テクスチャをロードしようとすると、黒いテクスチャが表示されます。
私はSingleton
LibGDXGameAssetManager
のAssetManager
.
例えば:
public Texture getTexture(String filename) {
if (assets.isLoaded(filename)) {
return assets.get(filename, Texture.class);
} else {
assets.load(filename, Texture.class);
assets.finishLoadingAsset(filename);
Texture texture = assets.get(filename, Texture.class);
sessionAssets.put(filename, texture);
return texture;
}
}
私のでは、次のようにメソッドAndroidLauncher
をオーバーライドします。onResume
@Override
protected void onResume() {
super.onResume();
GameAssetManager.instance.resume();
}
GameAssetManager.resume()
メソッドはこれを行うだけです:
public void resume() {
assets = new AssetManager();
Texture.setAssetManager(assets);
}
アイテムが Google の IAB ライブラリを通じて購入されたとき、または広告が表示されたときに、レイアウト/UI コンポーネントを変更する がありますStoreItemButton
。Group
広告が表示されるか、IAB プロセスが完了するAndroidLauncher.onResume
と、ボタンが呼び出され、ボタンの UI が変更されると、ボタンまたはその一部が黒くなります。
ボタンごとに最大 4 つ (最大 30 個のボタン) のすべての可能なレイアウトを調べてプリロードし、状況に基づいてそれらを表示/非表示にするだけで、うまくいくように見えますが、これは多くのオーバーヘッドとエラーです。正当な理由もなく傾向があります。
ここで何か助けていただければ幸いです。