嗨,我在使用libgdx的AssetManager时遇到了困难。我已经跟随每个教程,阅读了每个维基页面,但我无法让它工作。
资源类:
public class Assets {
private static final AssetManager manager = new AssetManager();
public static final String background = "data/lawn.png";
public static void load() {
manager.load(background, Texture.class);
}
public static void dispose() {
manager.dispose();
}
public static boolean update() {
return manager.update();
}
主类:
public class TombStone extends Game implements Screen {
@Override
public void create () {
Assets.manager.update();
}
我在Screen类中使用以下方式命名我的纹理:
public class StoneScreen implements Screen{
public Texture texture;
public StoneScreen(TombStone gam){
loadStandard();
}
public void loadStandard() {
texture= Assets.manager.get(Assets.background, Texture.class);
}
当我运行应用程序时,它会在显示任何内容之前崩溃,并给出以下错误提示:"FATAL EXCEPTION: GLThread 32182" "Asset not loaded: assets/data/lawn.png"。
assets/
包含在路径中。它希望路径是相对于资产目录的。而且不要使您的 AssetManager 引用静态化,否则会导致内存泄漏和纹理损坏。 - Tenfour04Assets.manager.dispose()
,就不会引起任何问题。此外,这非常方便! - noone