LibGDX - 圆形纹理

问题描述:

我想知道是否有可能在LibGDX中为纹理赋予形状。LibGDX - 圆形纹理

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

概括地说,我有这样的:

enter image description here

,我想这一点:

enter image description here

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

+3

的纹理始终是一个矩形,但你可以把透明的源图像(Alpha通道),并具有调开启(SpriteBatch)绘制它让你描述的效果。我认为这是如此基础以至于每个人都知道这一点是理所当然的,所以在任何文档或教程中都没有提到它。 – Tenfour04

+0

我当然知道 - .- –

+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; 
    } 

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