load static method
- String path,
- SpriteAnimationData animationData, {
- ImageRepeat repeat = ImageRepeat.repeatX,
- Alignment alignment = Alignment.bottomLeft,
- LayerFill fill = LayerFill.height,
- Images? images,
- FilterQuality? filterQuality,
- String? package,
Takes the full path of an image, a SpriteAnimationData, and optionally
arguments for how the image should repeat (repeat), which edge it should
align with (alignment), which axis it should fill the image on (fill)
and images which is the image cache that should be used. If no image
cache is set, the global flame cache is used.
The path is the full path of the asset, as declared in the
pubspec.yaml, for example assets/images/clouds.png.
IMPORTANT: This method pre render all the frames of the animation into image instances so it can be used inside the parallax. Just keep that in mind when using animations in parallax, the over use of it, or the use of big animations (be it in number of frames or the size of the images) can lead to high use of memory.
Implementation
static Future<ParallaxAnimation> load(
String path,
SpriteAnimationData animationData, {
ImageRepeat repeat = ImageRepeat.repeatX,
Alignment alignment = Alignment.bottomLeft,
LayerFill fill = LayerFill.height,
Images? images,
FilterQuality? filterQuality,
String? package,
}) async {
images ??= Flame.images;
final animation = await SpriteAnimation.load(
path,
animationData,
images: images,
package: package,
);
final prerenderedFrames = animation.frames
.map((frame) => frame.sprite.toImageSync())
.toList();
return ParallaxAnimation(
animation,
prerenderedFrames,
repeat: repeat,
alignment: alignment,
fill: fill,
filterQuality: filterQuality,
);
}