为Button背景组合TextureRegions

时间:2014-06-01 01:37:16

标签: java libgdx nine-patch

我想拼凑多个TextureRegions或Sprites。我有一个使用标准Java2D的自定义按钮创建方法,我想在LibGDX项目中实现它。基本上,我有我的标准按钮背景,我分为9个不同的部分。角落,两侧的边框(包括角落)和中心。然后我调整中心的大小以适应文本,然后我调整边框的大小以适应中心的新宽度和高度,最后我重新连接角落。现在这又一次都在Java2D中运行,但是我很难在LibGDX中使用它。分裂工作,我可以通过将中心转换为Sprite并将大小设置为文本的边界来调整大小,但是我遇到的困难是重新组合单个TextureRegions。

我想做的是什么,如果是的话,怎么样?或者,我是否必须使用像Gimp这样的外部程序创建所有按钮图像,然后单独导入它们(这更不灵活)?

1 个答案:

答案 0 :(得分:1)

Libgdx使用NinePatch image(它得到的概念from Android - 可能是它早于Android,但我不确定)是否可扩展按钮纹理。

这个想法是你有一个纹理,并定义哪些部分是不可缩放的角落,其余部分是为你缩放的。

Libgdx的实现假定您正在使用的纹理图集已经编码了9个补丁元数据,但如果您已经知道该按钮的边界有多少,您应该能够直接使用NinePatch构造函数。