2017-01-02 19 views
1

LibGdxプロジェクトでアニメーションスプライト文字を使用したいと思います。LibGdxテクスチャパッキング

私はスプライトシートとスプライトアニメーション用の個々の画像を持っています。

テクスチャアトラスを作成する際、スプライトシート自体またはパッキングに個々のイメージを使用する必要がありますか? どちらが最善のアプローチですか?

現在、個々の画像を使用してスプライトアニメーションごとに別々のアトラスを作成し、パック&アセットをアセットフォルダに追加しています。それは働いている。しかし、私は1つのパックファイルと1つのpngファイルをゲームに効率的に使用する方法があることを願っています。

また、これらの個々のスプライトシートイメージに名前を付けることについても知りたいと思います。 "name_01、name_02 .....など"と名前を付けています。

ゲーム全体で、スプライトシートと非スプライト画像を含む単一のテクスチャアトラスを作成するより良い方法を提案してください。

答えて

0

すべてのスプライトアニメーションイメージを1つのパックファイルにまとめます。

AssetManagerを使用する場合、またはTextureAtlasのオブジェクトを作成する場合は、AssetManagerからTextureAtlasを取得してください。

getArray(gameAtlas.findRegion("resourceName"),x,y);メソッドを呼び出すことができます。 Animationクラスの引数として使用できるTextureRegionのArrayを返します。

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