I am trying to implement texture atlas.

1) I am using the texturepackerGUI and the result is taking 2 files , one png (whicj contains all the images and one .atlas (and not .pack).

2) Now , I want to use the above instead of every seperate image.

Right now , I use for example:

private void loadTextures() {
bobTexture = new  Texture(Gdx.files.internal("data/images/bob_01.png"));
blockTexture = new Texture(Gdx.files.internal("data/images/block.png"));

I want to use texture atlas , so instead of the above :

TextureAtlas atlas;
atlas = new TextureAtlas(Gdx.files.internal("data/images/bobs"));  //bobs.atlas
Sprite bobsprite = atlas.createSprite("bob-01");
Sprite blocksprite = atlas.createSprite("block");

Now,I must initialize TextureAtlas I think because it gives me error "Syntax error on token ";", , expected".I don't know how.

3) I put TexturePacker2 in the android project (MainActivity) :

  AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
    cfg.useGL20 = true;
    cfg.useAccelerometer = false;
    cfg.useCompass = false;
    cfg.useWakelock = true;
    TexturePacker2.process("my-gdx-game-android/assets/images/", "/my-gdx-game-android/assets/data", "bobs.atlas");

The folders inside TexturePacker are ok syntaxed? Or I must remove the "my-gdx-game-android/assets/"?



1 Answer 1


OK, I found it .

1) Using the texturepackerGUI you leave the "File Name" blank and this way you get 2 files , one png and one .pack (and not .atlas!)

2)In order to use textureatlas , you use it like this (from here):

private void loadTextures() {
TextureAtlas atlas = new TextureAtlas(Gdx.files.internal("images/bobs.pack"));
bobIdleLeft = atlas.findRegion("bob-01");

No need to use the TexturePacker2.process("my-gdx-game-android/assets/images/", "/my-gdx-game-android/assets/data", "bobs.atlas"); anywhere in your code.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .