java - Libgdx 像素化 GUI 效果

标签 java user-interface libgdx scene2d

在 LibGDX 中,我目前正在尝试实现像素化 GUI 的效果,这意味着按钮是像素化的,就像一个 8 位主题。

当我制作我的 GUI 元素时,例如 TextButton,我使用的是小图像,比如 34x16像素,但我正在以像 1920x1080 这样的大分辨率渲染它们.以高分辨率渲染如此小的图像的最佳方法是什么?

我的想法是使用 stage.setViewport(WIDTH,HEIGHT) , 并将宽度和高度设置为按比例缩小的分辨率,这样 gui 元素就不会那么大了。这有效,但是当添加元素时出现问题。 enter image description here

这是我目前的舞台/ table ,使用按比例缩小的分辨率。我正在使用这样的表添加小部件:

    table.add(playButton);
    table.row();
    table.add(title);

但如您所见,table.row()使一行太大,也许一行适合更大的分辨率。有什么办法可以改变行造成的差距吗?我原以为差距会是零,并通过使用 table.add().pad()你可以改变差距,但我不会那样做。

如有任何帮助,我们将不胜感激。

最佳答案

九补丁

这是所有应用程序中的常见问题。为了克服这个问题,使用了可以安全地分段调整大小的图像。它们被称为 ninepatches。

这是一个不错的Tutorial关于在 libgdx 中使用它们。


距离场字体

虽然您没有在这里提到它,但您也会发现字体大小(像素化字体)是一个问题。为此 Distance Field Fonts被使用。

希望这对您有所帮助。

关于java - Libgdx 像素化 GUI 效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22850457/

相关文章:

java - 如何组合 Box2d 物体?

libgdx - 为什么在 libGdx 中 Camera.unproject() 和 Camera.project() 不是彼此相反的?

java - 有没有正确的方法来缩放舞台上的 Actor ?(Libgdx)

java - 指向桌面 (Java) 和发布程序的定向路径

java - 从 Docx 中删除内容控件

C# 允许用户输入条件规则

javascript - 在 Bokeh 中显示裁剪后的图像

Java - 绘制正弦波

java - 尝试 findViewById 时抛出 NullpointerException

java - 没有列表项分隔符的 ListView 标题