Libgdx将一个NinePatch打包到TextureAtlas中
我已经看到,您可以使用Libgdx将一个NinePatch打包到TextureAtlas中,libgdx,nine-patch,texture-atlas,Libgdx,Nine Patch,Texture Atlas,我已经看到,您可以使用TexturePacker2将NinePatches打包到TextureAtlas中。我也看过,也看过。但我不确定是否理解正确。我想把我所有的GUI材料打包成一个TextureAtlas,我的GUI材料不仅由NinePatchs组成,还包括一些TextureRegions。是否可以将NinePatchs和TextureRegions组合在一个TextureAtlas中?我可以使用deffault设置吗?还是必须在.JSON文件中进行一些自定义设置,如paddingX,pad
TexturePacker2
将NinePatch
es打包到TextureAtlas
中。我也看过,也看过。但我不确定是否理解正确。我想把我所有的GUI材料打包成一个TextureAtlas
,我的GUI材料不仅由NinePatch
s组成,还包括一些TextureRegion
s。是否可以将NinePatch
s和TextureRegion
s组合在一个TextureAtlas
中?我可以使用deffault设置吗?还是必须在.JSON
文件中进行一些自定义设置,如paddingX
,paddingY
?在我的游戏中,我可以使用atlas.createPatch(“patchimagename”)加载NinePatch
还是将所有内容都安全地保存为TextureRegion
并从中创建NinePatch
更好?让我们想象一下,您拥有用于TexturePacker2
的文件结构:
images/
image1.png
image2-ninepatch.png <-- this is NinePatch
image3.png
在此之后,您可以使用Skin
包装纹理,并轻松地从Atlas
中提取NinePatch
和TextureRegion
:
TextureAtlas atlas = ... // load the Atlas
Skin skin = ... // create some root skin or use created one
skin.addRegion(atlas); // register atlas in skin
此外,您可以将多个地图集添加到一个皮肤中
现在您可以执行以下操作:
TextureRegion
:
public TextureRegion getRegion(String region)
{
return skin.getRegion(region);
}
public NinePatch getNinePatch(String region)
{
return skin.getPatch(region);
}
NinePatch
:
public TextureRegion getRegion(String region)
{
return skin.getRegion(region);
}
public NinePatch getNinePatch(String region)
{
return skin.getPatch(region);
}
TextureRegion
或NinePatch
)我希望它能帮助你 让我们假设您拥有用于
TexturePacker2
的文件结构:
images/
image1.png
image2-ninepatch.png <-- this is NinePatch
image3.png
在此之后,您可以使用Skin
包装纹理,并轻松地从Atlas
中提取NinePatch
和TextureRegion
:
TextureAtlas atlas = ... // load the Atlas
Skin skin = ... // create some root skin or use created one
skin.addRegion(atlas); // register atlas in skin
此外,您可以将多个地图集添加到一个皮肤中
现在您可以执行以下操作:
TextureRegion
:
public TextureRegion getRegion(String region)
{
return skin.getRegion(region);
}
public NinePatch getNinePatch(String region)
{
return skin.getPatch(region);
}
NinePatch
:
public TextureRegion getRegion(String region)
{
return skin.getRegion(region);
}
public NinePatch getNinePatch(String region)
{
return skin.getPatch(region);
}
TextureRegion
或NinePatch
)我希望它能帮助你 如果我用这个工具创建它,它是否具有1px的边界?我是否需要在ingame或skin.JSON中定义可伸缩区域?@Springrbua,是的,此代码将与该工具配合使用。不,您不应该在ingame和JSON中定义可拉伸区域,因为它已经由1px边框定义:)再次感谢,我将尝试:如果我用这个工具创建它,它是否准备好了1px边框?我是否需要在ingame或skin.JSON中定义可伸缩区域?@Springrbua,是的,此代码将与该工具配合使用。不,您不应该在ingame和JSON中定义可拉伸区域,因为它已经由1px border定义:)再次感谢,我将尝试:P