Android dev と andengine 全般の新機能です。AndEngineTexturePackerExtension を使用してスプライトをアニメーション化しようとしていますが、アニメーション化されたスプライトに対して tiledTextureRegion がどのように作成されるかわかりません。以下は、このフォーラムのガイドや他の投稿から得たものです。texturepackerからxml、png、およびjavaを作成しています
private TexturePackTextureRegionLibrary mSpritesheetTexturePackTextureRegionLibrary;
private TexturePack texturePack;
try
{
TexturePackLoader texturePackLoader = new TexturePackLoader(activity.getTextureManager());
texturePack = texturePackLoader.loadFromAsset(activity.getAssets(), "spritesheet.xml");
texturePack.loadTexture();
mSpritesheetTexturePackTextureRegionLibrary = texturePack.getTexturePackTextureRegionLibrary();
}
catch (TexturePackParseException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
TexturePackerTextureRegion textureRegion = mSpritesheetTexturePackTextureRegionLibrary.
get(spritesheet.00000_ID);
TiledTextureRegion tiledTextureRegion = TiledTextureRegion.create(texturePack.getTexture(),
textureRegion.getSourceX(), textureRegion.getSourceY(),
textureRegion.getSourceWidth() , textureRegion.getSourceHeight() ,
COLUMNS, ROWS);
AnimatedSprite sprite = new AnimatedSprite((activity.CAMERA_WIDTH - tiledTextureRegion.getWidth()) / 2,
(activity.CAMERA_HEIGHT - tiledTextureRegion.getHeight()) / 2,
tiledTextureRegion, activity.getVertexBufferObjectManager());
問題は、COLUMNS と ROWS の値がどこから来ているのか理解できないことです。スプライトシート自体には、回転したスプライトなどが含まれているため、行と列が不均一になっています。これらの値がどこから来たのか混乱しています。これを機能させるための助けに感謝します
編集: MaxRects アルゴリズムではなく、テクスチャ パッカー内の基本的なアルゴリズムを使用するだけで、スプライト シート アニメーションを動作させることができます。しかし、これはシート内のすべてのスペースを利用するわけではないので、MaxRects で生成されたスプライト シートを使用して動作させたいと考えています。xml で、回転するかどうかを示す bool を渡すことがわかります。そのため、この作業を行うための情報がそこにあるため、方法がわかりません。一部のテクスチャがシート上で回転しているときに、texturepacker テクスチャ領域を使用してアニメーション化されたスプライトを作成する方法