我正在 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) {
}
}
你们中有人已经遇到过这个问题吗..?如果是,我怎样才能避免这种情况(除了不处理任何东西哈哈)?
谢谢 !;)