这是我的方式来处理资产资产在Libgdx
我有有assetsManager,只有文件路径弦乐资产类
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();
}
}
屏幕我加载资产
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();
}
}
当我使用它们时,我这样做
Texture background = Assets.getTexture(Assets.background);
我打电话处置在游戏类唯一
public class GameMain extends Game{
@Override
public void dispose() {
super.dispose();
Assets.dispose();
}
}
我的问题:
这是管理资产还是我做错什么正确的方法是什么?
另一个问题我有一个阶段(其中具有使用textureRegions演员)
在播放屏幕处置它(以及它的纹理)我叫stage.dispose()只
public class PlayScreen implements Screen{
@Override
public void dispose() {
stage.dispose();
}
}
这是正确的或不 ?
怎么了所有'静态'?你不喜欢OOP?不要这样做。删除每个出现的'static'关键字。 – Xoppa