LibGDX - 圆形纹理
LibGDX - Rounded shaped texture
我想知道是否可以为 LibGDX 中的纹理赋予形状。
特别是,我有一个纹理,我想用它制作一个按钮。为此,我想给它一个圆角形状。
简而言之,我有这个:
我想要这个:
我已经阅读了一些类似的问题,并给出了明确的答案。有没有人遇到过这个问题并找到了一个聪明的解决方案?
已回答此问题 here。你必须实现你自己的纹理,它使用多边形来实现你想要做的事情。
使用波纹管方法创建圆形纹理图像,然后向其添加文本。
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;
}
我想知道是否可以为 LibGDX 中的纹理赋予形状。
特别是,我有一个纹理,我想用它制作一个按钮。为此,我想给它一个圆角形状。
简而言之,我有这个:
我想要这个:
我已经阅读了一些类似的问题,并给出了明确的答案。有没有人遇到过这个问题并找到了一个聪明的解决方案?
已回答此问题 here。你必须实现你自己的纹理,它使用多边形来实现你想要做的事情。
使用波纹管方法创建圆形纹理图像,然后向其添加文本。
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;
}