SpriteAnimation.fromAsepriteData constructor
Automatically creates an Animation Object using animation data provided by the json file provided by Aseprite
imagePath
: Source of the sprite sheet animation
dataPath
: Animation's exported data in json format
Implementation
SpriteAnimation.fromAsepriteData(
Image image,
Map<String, dynamic> jsonData,
) {
final jsonFrames = jsonData['frames'] as Map<String, dynamic>;
final frames = jsonFrames.values.map((dynamic value) {
final map = value as Map;
final frameData = map['frame'] as Map<String, dynamic>;
final x = frameData['x'] as int;
final y = frameData['y'] as int;
final width = frameData['w'] as int;
final height = frameData['h'] as int;
final stepTime = (map['duration'] as int) / 1000;
final sprite = Sprite(
image,
srcPosition: Vector2Extension.fromInts(x, y),
srcSize: Vector2Extension.fromInts(width, height),
);
return SpriteAnimationFrame(sprite, stepTime);
});
this.frames = frames.toList();
loop = true;
}