libgdx-html5:texture dispose生成一个bufferunderflowexception

时间:2014-03-05 15:19:39

标签: html5 textures libgdx dispose bufferunderflowexception

我在ANDROID上使用LIBGDX开发游戏。今天,我试图在HTML5版本中生成我的一个项目。我把WAR文件夹的内容放在我的服务器上。一切都很好,除了两件事。我将在这里向您介绍这两个问题中的一个。

问题:当必须处理纹理时(通过调用其方法dispose()),我得到一个BufferUnderflowException。它每次都会发生。

以下是创建新项目时自动生成的示例代码:

public class TexDispose implements ApplicationListener
{
    private OrthographicCamera camera;
    private SpriteBatch batch;
    private Texture texture;

    @Override
    public void create() {      
        float w = Gdx.graphics.getWidth();
        float h = Gdx.graphics.getHeight();

        camera = new OrthographicCamera(1, h/w);
        batch = new SpriteBatch();

        texture = new Texture(Gdx.files.internal("data/libgdx.png"));
        Gdx.input.setInputProcessor(this);
    }

    @Override
    public void dispose() {
        batch.dispose();
        texture.dispose(); // HERE IS THE ERROR
    }

    @Override
    public void render() {      
        Gdx.gl.glClearColor(1, 1, 1, 1);
        Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

        batch.setProjectionMatrix(camera.combined);
        batch.begin();
        batch.end();
    }

    @Override
    public void resize(int width, int height) {
    }
}

你们其中一个人是否已经遇到过这个问题..?如果是的话,我怎么能避免这种情况(除了不处理任何东西)?

谢谢! ;)

0 个答案:

没有答案