LibGDX 缩减规模
LibGDX Scaling down
我试图通过直接设置宽度和高度来缩小 512 x 256 的火箭图像。当我发射它时,火箭图像像素化且质量非常差,尽管它应该是清晰的矢量图像。我想知道如何适当地缩小它以保持质量。
public GameScreen(){
cam = new OrthographicCamera();
cam.setToOrtho(false, 600, 800);
batch = new SpriteBatch();
img = new Texture(Gdx.files.internal("data/rocket.png"));
batch.setProjectionMatrix(cam.combined);
}
@Override
public void show() {
}
@Override
public void render(float delta) {
cam.update();
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(img,10, 10, 100, 60);
batch.end();
}
正如 Tenfour04 在评论中提到的,您需要在启用 mipmap 的情况下初始化纹理 class。然后使用 setFilter 方法设置纹理过滤器。
img = new Texture(Gdx.files.internal("data/rocket.png"), true);
img.setFilter(Texture.TextureFilter.MipMapLinearNearest, Texture.TextureFilter.Nearest);
我试图通过直接设置宽度和高度来缩小 512 x 256 的火箭图像。当我发射它时,火箭图像像素化且质量非常差,尽管它应该是清晰的矢量图像。我想知道如何适当地缩小它以保持质量。
public GameScreen(){
cam = new OrthographicCamera();
cam.setToOrtho(false, 600, 800);
batch = new SpriteBatch();
img = new Texture(Gdx.files.internal("data/rocket.png"));
batch.setProjectionMatrix(cam.combined);
}
@Override
public void show() {
}
@Override
public void render(float delta) {
cam.update();
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(img,10, 10, 100, 60);
batch.end();
}
正如 Tenfour04 在评论中提到的,您需要在启用 mipmap 的情况下初始化纹理 class。然后使用 setFilter 方法设置纹理过滤器。
img = new Texture(Gdx.files.internal("data/rocket.png"), true);
img.setFilter(Texture.TextureFilter.MipMapLinearNearest, Texture.TextureFilter.Nearest);