【问题标题】:Images pixelated in higher resolutions以更高分辨率像素化的图像
【发布时间】:2014-02-17 23:51:07
【问题描述】:
我正在使用 libGDX 框架开发游戏,但在尝试使其适应不同的分辨率时遇到了一些问题。我将举例说明我遇到的问题。
我使用 Scene2D 来显示一个简单的菜单。该菜单有一些带有从纹理图集加载的纹理的按钮(按钮纹理为 9patch)。在桌面上,分辨率为 800x480 的按钮看起来不错(甚至是 BitmapFont),但在 Android 中,我使用 setViewport 来保持宽度(800 像素)但在保持纵横比的情况下缩放高度,我得到像素化图像。我认为这是因为我的手机分辨率更高。整个舞台必须缩放以适应图像像素化。
那么,我的问题是,解决这个问题的最佳方法是什么?如何以像素艺术外观支持不同的分辨率?
【问题讨论】:
标签:
libgdx
screen-resolution
【解决方案1】:
你测试的安卓设备是什么分辨率?您说您使用了 9-patch 图像。除非您将它们设置为大小然后修改它们的比例(屏幕分辨率和视口大小之间的差异),否则这不应产生像素化结果。如果您不想要任何缩放,您应该使用屏幕宽度或高度作为视口,并通过保持纵横比来计算另一个。这意味着您必须在运行时根据您的新视口构建所有对象的大小。
对于此类问题,没有一种适合所有解决方案的方法,因此您必须找到适合您应用的方法。您可以将按钮大小定义为屏幕宽度或高度的百分比;或者将它们设置为固定值并调整它们之间的间距;或两者结合(使对象部分变大并修改它们之间的空间)。