私は "Loading Screen"を使用しない/使用できないゲームを持っています。私はAssetManager
を使って、広告が表示されたあと、またはIAPプロセスが起こったときに資産をロードするのにいくつかの問題を抱えています。LibGDX AssetManagerと黒のテクスチャ&フォント
私はAssetManagerのwiki記事に従ってきましたが、「新しい」テクスチャを読み込もうとすると、まだ黒いテクスチャが表示されています。
私はSingleton
カスタムGameAssetManager
を持っていますが、これはLibGDXの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;
}
}
、私はそうのようなonResume
メソッドをオーバーライドします。
public void resume() {
assets = new AssetManager();
Texture.setAssetManager(assets);
}
私が持っている:
は@Override
protected void onResume() {
super.onResume();
GameAssetManager.instance.resume();
}
GameAssetManager.resume()
方法は、ちょうどこのありませんであるStoreItemButton
アイテムがGoogleのIABライブラリまたはAdによって購入されたときに、そのレイアウト/ UIコンポーネントを変更します。
広告が表示された後、またはIABプロセスが完了すると、AndroidLauncher.onResume
が呼び出され、ボタンが変更されるとそのUIまたはその一部が黒くなります。
ボタンごとに4つまで(最大30個のボタン)すべてのレイアウトを事前ロードしてから状況に応じて表示/非表示にすると動作するようですが、これは大変ですオーバーヘッドとエラーが発生しやすい理由はありません。
ここにお手伝いいただければ幸いです。
#onResumeメソッド?それらはあなたがする必要があるべきではない2つのものです(すでにあなたがリンクしているwikiページですでに読んでいるように)。 – Xoppa
シングルトンは、自分の資産をロード/取得するカスタムUIコンポーネントがたくさんあるので便利です。新しいUIコンポーネントをインスタンス化するカスタムの 'GameAssetManager'のインスタンスを渡すことができましたが、コンテキストが変更され、基本的な' AssetManager'デリゲートがもう機能しない場合、どうすればこの状況に役立ちますか? AndroidLaucher#onResumeをオーバーライドする場合、wikiの記事では、新しいAssetManagerを作成し、アプリケーションの再開時にTextureに設定する必要があると述べています。 https:// github。com/libgdx/libgdx/wiki/Managing-your-assets#再読み込み中画面 – Townsfolk
「読み込み画面あり」と書かれていますが、私が使っていなくても更新するべきだと思いましたローディング画面。 – Townsfolk