2017-01-02 86 views
1

我想在我的LibGdx项目中使用动画sprite字符。LibGdx纹理包装

我有精灵表单,也有精灵动画的单个图像。

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

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

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

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

回答

0

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

如果您想使用AssetManager或者您可以创建TextureAtlas的对象,则从AssetManager获取TextureAtlas。您可以拨打getArray(gameAtlas.findRegion("resourceName"),x,y);方法。返回可以用作Animation类的参数的TextureRegion数组。

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