Add the dependency to your core/build.gradle :
If you're making a game with libGDX, you will eventually need to draw many images (sprites) on the screen. Loading each image as a separate texture is incredibly inefficient and slow. This is where the Texture Packer comes in. What is the Texture Packer? The Texture Packer is a tool that takes multiple individual image files (PNG, JPG, etc.) and combines them into a single large image, called a Texture Atlas . It also generates a metadata file (usually .atlas ) that tells your game where each original image lives inside that big image.
// 4. Or create a full Sprite (with color, rotation, etc.) Sprite playerSprite = atlas.createSprite("player_jump"); libgdx texture packer
// (input directory, output directory, atlas file name) TexturePacker.process(settings, "raw-assets/player", "android/assets/", "player");
dependencies // ... your other dependencies compileOnly "com.badlogicgames.gdx:gdx-tools:$gdxVersion" Add the dependency to your core/build
import com.badlogic.gdx.tools.texturepacker.TexturePacker; public class AssetPacker public static void main(String[] args) TexturePacker.Settings settings = new TexturePacker.Settings(); settings.pot = true; settings.paddingX = 2; settings.paddingY = 2; settings.edgePadding = true; settings.stripWhitespace = true; settings.filterMin = TexturePacker.Settings.TextureFilter.Nearest; settings.filterMag = TexturePacker.Settings.TextureFilter.Nearest;
// 3. Or get an animated region Animation<TextureRegion> walkAnimation = new Animation<>(0.1f, atlas.findRegions("player_walk"), Animation.PlayMode.LOOP); What is the Texture Packer
raw-assets/player/ ├── idle/ │ ├── frame1.png │ └── frame2.png └── run/ ├── run01.png └── run02.png You can access atlas.findRegion("idle/frame1") or atlas.findRegions("run") .