3

我是 libGDX 的新手,我只想将图像放到屏幕上。我有一个 800x800 的红球图像,当我尝试绘制纹理时:

batch.draw(ball,50,50,50,50);

球的质量真的很差,但是当我不按比例缩小时,质量很好。

这是我在屏幕上看到的图像:http: //prntscr.com/55oars

在此处输入图像描述

关于如何使图像更清晰、更流畅的任何帮助?

4

1 回答 1

0

据我所知,您有两种选择。

一种选择是拥有一个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并加载与给定屏幕成比例的图像。

总而言之,虽然这些方法可能看起来有点乏味,但它们确实是在不同屏幕尺寸上保持“清晰流畅”图片的更好方法。

值得记住的是,通过调整图像大小,您实际上会减少照片的像素数。因此,当您尝试调整图像大小时,某些像素会“丢失”,并且无法再现原始纹理,因此会失去清晰度。

于 2014-11-12T22:23:18.533 回答