這是我的方式來處理資產資產在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