以下是libgdx中的基本默认代码,它只是在红色背景上呈现图像:
public class Test extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
@Override
public void create () {
batch = new SpriteBatch();
img = new Texture("img.png");
}
@Override
public void render () {
Gdx.gl.glClearColor(0.7f, 0.1f, 0.1f, 1f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(img, 0, 0);
batch.end();
}
@Override
public void dispose () {
batch.dispose();
img.dispose();
}
}
图像只是一个小的(100x100px)png,填充了半透明的白色(实际上,棋盘上也出现了完全不透明的图像)。 但是,当我在Android设备上运行此代码时,这就是我得到的(放大,使用android studio拍摄的截图,但它在一些真实的设备和模拟器上显而易见,并且当使用电源+音量降低组合时): image。 当我使用纹理图集和不同的纹理过滤器时,也会出现这种情况。 一切都是png格式,所以它不是有损压缩。
我的问题是:为什么会出现?