SpriteSheet constructor
Creates a new sprite sheet from an _image
and a sprite sheet
jsonDefinition
.
var mySpriteSheet = SpriteSheet(
image: myImage,
jsonDefinition: jsonString,
);
Implementation
SpriteSheet({required ui.Image image, required String jsonDefinition})
: _image = image {
JsonDecoder decoder = const JsonDecoder();
Map<dynamic, dynamic> file = decoder.convert(jsonDefinition);
List<dynamic> frames = file['frames'];
for (var frameInfo in frames) {
String fileName = frameInfo['filename'];
Rect frame = _readJsonRect(frameInfo['frame']);
bool rotated = frameInfo['rotated'];
bool trimmed = frameInfo['trimmed'];
Rect spriteSourceSize = _readJsonRect(frameInfo['spriteSourceSize']);
Size sourceSize = _readJsonSize(frameInfo['sourceSize']);
Offset pivot = _readJsonPoint(frameInfo['pivot']);
SpriteTexture texture = SpriteTexture._fromSpriteFrame(
_image,
fileName,
sourceSize,
rotated,
trimmed,
frame,
spriteSourceSize,
pivot,
);
_textures[fileName] = texture;
}
}