我已经在 LibGDX 上玩了一段时间了,并且想轻松地将我的程序移植到不同的系统。我有一个背景纹理,我想将其缩放到当前使用的分辨率。图像是1920x1080,如何在运行时将其更改为当前使用的分辨率?
如果您想在绘图时缩放,请使用:
Pixmap pixmap200 = new Pixmap(Gdx.files.internal("200x200.png"));
Pixmap pixmap100 = new Pixmap(100, 100, pixmap200.getFormat());
pixmap100.drawPixmap(pixmap200,
0, 0, pixmap200.getWidth(), pixmap200.getHeight(),
0, 0, pixmap100.getWidth(), pixmap100.getHeight()
);
Texture texture = new Texture(pixmap100);
pixmap200.dispose();
pixmap100.dispose();
batch.begin();
batch.draw(yourtexture, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
batch.end();
使用相机视口也可以:
batch.begin();
batch.draw(yourtexture, 0, 0, cam.viewportWidth, cam.viewportHeight);
batch.end();