Das ist meine Art und Weise mit einem Vermögen umgehenAssets in Libgdx
Ich habe Assets Klasse, die assetsManager und nur Strings von Dateien Pfad
public class Assets {
public static AssetManager manager = new AssetManager();
public static final String background = "bg.png";
public static final String menu = "menu/menu.atlas";
public static Texture getTexture(String name) {
return manager.get(name, Texture.class);
}
public static TextureAtlas getTextureAtlas(String name) {
return manager.get(name, TextureAtlas.class);
}
public static void dispose() {
manager.clear();
}
}
In Bildschirm hat ich laden Assets
public class MenuScreen implements Screen {
public void show() {
//load assets
Assets.manager.load(Assets.background, Texture.class);
Assets.manager.load(Assets.menu, TextureAtlas.class);
Assets.manager.finishLoading();
}
}
Wenn ich sie verwende, mache ich das
Texture background = Assets.getTexture(Assets.background);
nur
ich in Spielklasse verfügen rufen
public class GameMain extends Game{
@Override
public void dispose() {
super.dispose();
Assets.dispose();
}
}
Meine Frage:
Ist das eine richtige Art und Weise Vermögenswerte zu verwalten, oder bin ich etwas falsch?
Eine andere Frage, die ich eine Bühne haben (die Akteure, die textureRegions verwenden)
In Gabebildschirm zu entsorgen (mit Texturen) Ich nenne stage.dispose() nur
public class PlayScreen implements Screen{
@Override
public void dispose() {
stage.dispose();
}
}
Ist das richtige oder nicht ?
Was ist los mit all den statischen? Du magst OOP nicht? Tu das nicht. Entfernen Sie jedes Vorkommen des statischen Schlüsselworts. – Xoppa