LibGdx纹理填充

LibGdx纹理填充,libgdx,texture-packing,Libgdx,Texture Packing,我想在我的LibGdx项目中使用动画精灵角色 我有精灵表和精灵动画的单独图像 在创建纹理图集时,我是否必须使用sprite表本身或单个图像进行打包? 哪一个是最好的方法 目前,我正在使用单独的图像为每个精灵动画创建单独的图集,并将pack&png文件添加到assets文件夹。它正在工作。但我希望有一些方法可以有效地在游戏中使用一个pack文件和一个png文件 我还想知道如何命名这些单独的精灵表图像。 我给它命名的方式是“name\u 01,name\u 02……等等” 请建议为整个游戏创建单一纹

我想在我的LibGdx项目中使用动画精灵角色

我有精灵表和精灵动画的单独图像

在创建纹理图集时,我是否必须使用sprite表本身或单个图像进行打包? 哪一个是最好的方法

目前,我正在使用单独的图像为每个精灵动画创建单独的图集,并将pack&png文件添加到assets文件夹。它正在工作。但我希望有一些方法可以有效地在游戏中使用一个pack文件和一个png文件

我还想知道如何命名这些单独的精灵表图像。 我给它命名的方式是“name\u 01,name\u 02……等等”


请建议为整个游戏创建单一纹理图集的更好方法,其中包含精灵表和非精灵图像。

您必须使用纹理打包器


将精灵表创建为动画的一个纹理并打包。

您必须使用纹理打包器


将精灵表创建为动画的一个纹理并打包。

将所有精灵动画图像打包到一个打包文件中

如果要使用AssetManager或可以创建TextureAtlas的对象,请从AssetManager获取TextureAtlas

然后可以调用
getArray(gameAtlas.findRegion(“resourceName”),x,y)方法。它返回可以用作动画类参数的TextureRegion数组

public-TextureRegion[]getArray(TextureRegion-TextureRegion,int列,int行){
TextureRegion[][]arrayTextureRegion=TextureRegion.split(TextureRegion.getRegionWidth()/列,TextureRegion.getRegionHeight()/行);
TextureRegion TextureRegion 1[]=新的TextureRegion[arrayTextureRegion[0]。长度*arrayTextureRegion.length];

对于(int i=0;i将所有精灵动画图像打包到一个打包文件中

如果要使用AssetManager或可以创建TextureAtlas的对象,请从AssetManager获取TextureAtlas

然后可以调用
getArray(gameAtlas.findRegion(“resourceName”),x,y);
方法。该方法返回可以用作动画类参数的TextureRegion数组

public-TextureRegion[]getArray(TextureRegion-TextureRegion,int列,int行){
TextureRegion[][]arrayTextureRegion=TextureRegion.split(TextureRegion.getRegionWidth()/列,TextureRegion.getRegionHeight()/行);
TextureRegion TextureRegion 1[]=新的TextureRegion[arrayTextureRegion[0]。长度*arrayTextureRegion.length];
对于(int i=0;i
 public TextureRegion[] getArray(TextureRegion textureRegion,int column,int row){

        TextureRegion[][] arrayTextureRegion= textureRegion.split(textureRegion.getRegionWidth()/column,textureRegion.getRegionHeight()/row);
        TextureRegion textureRegion1[]=new TextureRegion[arrayTextureRegion[0].length*arrayTextureRegion.length];

        for (int i=0;i<arrayTextureRegion.length;i++)
            for (int j=0;j<arrayTextureRegion[i].length;j++)
                textureRegion1[i*arrayTextureRegion[i].length+j]=arrayTextureRegion[i][j];

        return textureRegion1;
    }