Files
flame/packages/flame_texturepacker

flame

A flame plugin to import sprite sheets generated by [Gdx Texture Packer][2] and [Code and Web Texture Packer][1]


flame_texturepacker

TexturePacker is a tool to create efficient sprite sheets. This plugin allows you to import sprite sheets generated by TexturePacker into your Flame game.

Note: Rotated sprites are not currently supported.

Install from Pub

flutter pub add flame_texturepacker

Usage

Asset Storage

Drop generated atlas file and sprite sheet images into the assets/ and link the files in your pubspec.yaml file:

 assets:
    - assets/atlas_map.atlas
    - assets/sprite_sheet1.png

Import the plugin like this:

import 'package:flame_texturepacker/flame_texturepacker.dart';

Load the TextureAtlas passing the path of the sprite sheet atlas file:

final atlas = await fromAtlas('atlas_map.atlas');

File Storage

If you are using file storage, grab your atlas file like this:

final documentsPath = (await getApplicationDocumentsDirectory()).path;
final atlas = await fromAtlas('$documentsPath/atlas_map.atlas', fromStorage: true);

Get a list of sprites ordered by their index, you can use the list to generate an animation:

final spriteList = atlas.findSpritesByName('robot_walk');

final animation = SpriteAnimation.spriteList(
 spriteList,
 stepTime: 0.1,
 loop: true,
);

Get individual sprites by name:

final jumpSprite = atlas.findSpriteByName('robot_jump')!;
final fallSprite = atlas.findSpriteByName('robot_fall')!;
final idleSprite = atlas.findSpriteByName('robot_idle')!;

Full working example can be found in example folder.

Note: Sprites used in this example can be found OpenGameArt here.

Credits

Thanks to Jonas Fröber for the original implementation. Thanks to Gnarhard for the feature to build the atlas file from a device's storage.