我是 libGDX 的新手,我只想将图像放到屏幕上。我有一个 800x800 的红球图像,当我尝试绘制纹理时:
batch.draw(ball,50,50,50,50);
球的质量真的很差,但是当我不按比例缩小时,质量很好。
这是我在屏幕上看到的图像:http: //prntscr.com/55oars
关于如何使图像更清晰、更流畅的任何帮助?
我是 libGDX 的新手,我只想将图像放到屏幕上。我有一个 800x800 的红球图像,当我尝试绘制纹理时:
batch.draw(ball,50,50,50,50);
球的质量真的很差,但是当我不按比例缩小时,质量很好。
这是我在屏幕上看到的图像:http: //prntscr.com/55oars
关于如何使图像更清晰、更流畅的任何帮助?
据我所知,您有两种选择。
一种选择是拥有一个FitViewport并不断保持您的屏幕大小相同,这最终会保持您的图像质量。在这种情况下,该FitViewport
课程将通过在屏幕上添加黑条来帮助您做到这一点,以照顾额外的空间。例子:
private Viewport viewport;
private Camera camera;
public void create() {
camera = new PerspectiveCamera();
viewport = new FitViewport(800, 480, camera);
}
public void resize(int width, int height) {
viewport.update(width, height);
}
另一种选择是使用TexturePacker并加载与给定屏幕成比例的图像。
总而言之,虽然这些方法可能看起来有点乏味,但它们确实是在不同屏幕尺寸上保持“清晰流畅”图片的更好方法。
值得记住的是,通过调整图像大小,您实际上会减少照片的像素数。因此,当您尝试调整图像大小时,某些像素会“丢失”,并且无法再现原始纹理,因此会失去清晰度。