LibGDX无提示地无法加载许多纹理

时间:2016-08-24 09:14:38

标签: android libgdx textures

我在一个游戏画面中使用~100个纹理,所以我认为在实际游戏开始之前加载它们是可以的。游戏创建:

@Override
public void create() {
    batch = new SpriteBatch();

    camera = new OrthographicCamera();
    camera.setToOrtho(false);

    assetManager = new AssetManager();
    Texture.setAssetManager(assetManger());

    Gdx.app.debug(TAG, "textures load started at: " + TimeUtils.nanoTime());

    assetManager.load(cardBackSidePath, Texture.class);
    assetManager.load(backgroundPath, Texture.class);
    for (String texturePath : cards) {
        assetManager.load(texturePath, Texture.class);
    }

    assetManager.finishLoadingAsset(backgroundPath);

    setScreen(new LoadingScreen(this));
}

现在,LoadingScreen是存根屏幕。在render()方法中,我检查AssetManager是否加载了所有需要的纹理,然后交换屏幕:

@Override
public void render() {
    if (!PlayScreen.class.equals(getScreen().getClass()) && assetManager.update()) {
        Gdx.app.debug(TAG, "textures loaded at: " + TimeUtils.nanoTime());
        setScreen(new PlayScreen(this, cardBackSidePath));
    }

    final Texture backgroundTexture = assetManager.get(backgroundPath, Texture.class);

    camera.update();

    batch.setProjectionMatrix(camera.combined);

    batch.begin();

    batch.draw(backgroundTexture, 0, 0, camera.viewportWidth, camera.viewportHeight);

    super.render();

    batch.end();
}

但是在加载纹理一段时间之后,它只是默默地完成而没有提供任何日志消息。在Android上测试过。纹理是1024x2048 png所以这可能是一个真正的问题。但有没有办法得到确切的错误信息?

0 个答案:

没有答案