0

libGDX の AssetManager クラスの適切な使用法を理解するのに苦労しています。私の理解では、AssetManager の静的インスタンスを作成することは決して想定されていません。人々が提案した代替案は、A​​ssetManager 参照を、それを使用するすべてのクラスに渡すことでした。私が以下に提案したことが別の安全な代替案であるかどうか疑問に思っています.

public class GdxGame extends Game {

    private AssetManager assets;

    ....dispose, create AssetManager etc


    public static AssetManager getAssets() {
        return ((GdxGame) Gdx.app.getApplicationListener()).assets;
    }
}

ゲーム内のすべてのクラスに AssetManager または Assets クラスを渡す必要はありません。そのため、何らかの静的参照を可能にするソリューションを見つけようとしています。これは安全ですか?

4

1 に答える 1

0

心配しすぎだと思います:-)最初に提案した静的インスタンスは、目的に完全に適切で機能的です。

private static AssetManager assets;
....dispose, create AssetManager etc

public static AssetManager getAssets() {
    return assets;
}

若いプレイヤーが避けるべき唯一のトラップは、Android アプリを一時停止するときです。再開するときは、AssetManager とそのアセットをリロードしてから続行してください。セマンティクスについて心配する必要はありません。問題がなければ問題ありません。幸せな日々 :-)。

于 2016-05-27T13:20:19.427 に答える