ANDROIDでLIBGDXを使ってゲームを開発しています。今日、私は自分のプロジェクトの 1 つを HTML5 バージョンで生成しようとしました。WAR フォルダーの内容をサーバーに配置しました。2点以外は大丈夫です。ここでは、これら 2 つの問題のうちの 1 つだけを紹介します。
問題: テクスチャを (そのメソッド 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) {
}
}
あなたの1人はすでにこの問題に遭遇しました..? はいの場合、どうすればそれを回避できますか(何も処分しないことを除いて笑)?
ありがとうございました !;)