1

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

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

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

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

我还想知道如何命名这些单独的精灵表图像。我以“name_01,name_02 .....等”的方式命名它。

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

4

2 回答 2

0

您将不得不使用纹理打包器。https://code.google.com/archive/p/libgdx-texturepacker-gui/

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

于 2017-01-02T08:38:31.613 回答
0

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

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

然后你可以调用getArray(gameAtlas.findRegion("resourceName"),x,y);方法。返回的 TextureRegion 数组可以用作 Animation 类的参数。

 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;
    }
于 2017-01-02T11:21:03.283 回答