flame_texturepacker 3.0.0 flame_texturepacker: ^3.0.0 copied to clipboard
A simple plugin for the Flame Engine to import spritesheets generated by the TexturePacker tool.
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.