我是新手,正在学习libGDX,我只想把一张图片放到屏幕上。我有一张红色球形图像,尺寸为800x800,当我尝试绘制这个纹理时:
batch.draw(ball,50,50,50,50);
球的质量实在是太差了,但是当我不缩小它时,质量很好。 这是我在屏幕上看到的图像:http://prntscr.com/55oars。 有什么办法可以使图像更加清晰流畅吗?
我是新手,正在学习libGDX,我只想把一张图片放到屏幕上。我有一张红色球形图像,尺寸为800x800,当我尝试绘制这个纹理时:
batch.draw(ball,50,50,50,50);
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并加载与给定屏幕成比例的图像。
总的来说,虽然这些方法可能有点繁琐,但它们确实是在不同屏幕尺寸下保持“清晰和流畅”图片的更好方式。
值得记住的是,通过调整图像大小,您实际上会减少照片的像素数量。因此,当您尝试调整图像大小时,一些像素会“丢失”,原始纹理无法再现,从而导致失真。
useMipmaps
选项。此外,纹理的过滤器应设置为(MipMapLinearNearest, Linear)或(MipMapLinearLinear, Linear)。第二个选项在更广泛的设备上看起来更好,但性能较差。 - Tenfour04