SpriteAnimation.of constructor

SpriteAnimation.of(
  1. SpriteRegion region, {
  2. required double fps,
  3. bool? loop,
})

Plays region at fps, holding every frame for the same length of time.

Implementation

factory SpriteAnimation.of(
  SpriteRegion region, {
  required double fps,
  bool? loop,
}) {
  if (fps < 0 || !fps.isFinite) {
    throw ArgumentError.value(
      fps,
      'fps',
      'Must be finite and non-negative.',
    );
  }

  final duration = fps <= 0 ? double.infinity : 1 / fps;

  return SpriteAnimation._(
    region,
    List.filled(region.frames, duration, growable: false),
    loop ?? true,
  );
}