我在找出正确使用libGDX的AssetManager类时遇到了一些麻烦。据我所知,您永远不应该创建AssetManager的静态实例。人们建议的另一种方法是将AssetManager引用传递给使用它的每个类。我想知道我下面提出的建议是否是另一种安全的选择。
public class GdxGame extends Game {
private AssetManager assets;
....dispose, create AssetManager etc
public static AssetManager getAssets() {
return ((GdxGame) Gdx.app.getApplicationListener()).assets;
}
}
我真的不想将AssetManager或Assets类传递给游戏中的每个类,因此我试图找出一种允许某种静态引用的解决方案。这样安全吗?
答案 0 :(得分:0)
我觉得你太担心了:-)你原来建议的静态实例非常适合你的用途:
private static AssetManager assets;
....dispose, create AssetManager etc
public static AssetManager getAssets() {
return assets;
}
年轻玩家要避免的唯一陷阱是当你暂停Android应用时:在恢复时,只需重新加载AssetManager及其资产,然后再继续。不要担心语义 - 如果它适合你,那就没关系。快乐的日子: - )。