LibGDX - 圆形纹理

时间:2017-08-31 20:51:59

标签: opengl libgdx textures rounded-corners

我想知道是否可以在LibGDX中为纹理赋予形状。

特别是,我有一个纹理,我想从它做一个按钮。为此,我想给它一个圆角形状。

简而言之,我有这个:

enter image description here

我想要这个:

enter image description here

我已经阅读过一些类似的问题,并且有任何明确的答案。有没有人遇到过这个问题并找到了智能解决方案?

2 个答案:

答案 0 :(得分:0)

已经回答here。你必须实现自己的纹理,它使用多边形来实现你想要做的事情。

答案 1 :(得分:0)

使用波纹管方法创建圆角纹理图像,然后向其添加文本。

public static Texture createPixmapRoundCornerRect(Color color, int width,
            int height, int radius) {
        Pixmap pixmap = new Pixmap(width, height, Format.RGBA8888);
        pixmap.setColor(color);
        pixmap.fillCircle(radius, radius, radius);
        pixmap.fillCircle(width - radius, radius, radius);
        pixmap.fillCircle(width - radius, height - radius, radius);
        pixmap.fillCircle(radius, height - radius, radius);
        pixmap.fillRectangle(0, radius, width, height - (radius * 2));

        pixmap.fillRectangle(radius, 0, width - (radius * 2), height);
        Texture pixmaptex = new Texture(pixmap);
        pixmap.dispose();
        return pixmaptex;
    }