2017-01-02 159 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; 
    }