pub struct SpriteSheetAnimation { /* private fields */ }
Expand description

Asset that define an animation of TextureAtlasSprite

See crate level documentation for usage

Implementations

Available on crate features unstable-load-from-file and yaml only.

Parse content of a yaml string representing the animation

Yaml schema
mode: PingPong
frames:
  - index: 0 # index in the sprite sheet for that frame
    duration: 100 # duration of the frame in milliseconds
  - index: 1
    duration: 100
  - index: 2
    duration: 120

There is also a short-hand notation if all frames have the same duration:

frame_duration: 100
frames: [0, 1, 2] # sequence of frame indices
Errors

Returns an error if the content is not a valid yaml representation of an animation

Available on crate features unstable-load-from-file and yaml only.

Parse content of yaml bytes representing the animation

Yaml schema
mode: PingPong
frames:
  - index: 0 # index in the sprite sheet for that frame
    duration: 100 # duration of the frame in milliseconds
  - index: 1
    duration: 100
  - index: 2
    duration: 120

There is also a short-hand notation if all frames have the same duration:

frame-duration: 100
frames: [0, 1, 2] # sequence of frame indices
Errors

Returns an error if the content is not a valid yaml representation of an animation

Available on crate features unstable-load-from-file and ron only.

Parse content of a ron file represenging the animation

Schema
(
  // The mode can be one of: 'Once', 'Repeat', 'PingPong'
  // or 'RepeatFrom(n)' (where 'n' is the frame-index to repeat from)
  // The default is 'Repeat'
  mode: PingPong,
  frames: [
    (
      index: 0, //index in the sprite sheet for that frame
      duration: Some(100), // duration of the frame in milliseconds
    ),
    (index: 1, duration: Some(100)),
    (index: 2, duration: Some(120)),
  ]
)
Errors

Returns an error if the content is not a valid ron representation of an animation

Available on crate features unstable-load-from-file and ron only.

Parse content of a ron file represenging the animation

Schema
(
  // The mode can be one of: 'Once', 'Repeat', 'PingPong'
  // or 'RepeatFrom(n)' (where 'n' is the frame-index to repeat from)
  // The default is 'Repeat'
  mode: PingPong,
  frames: [
    (
      index: 0, //index in the sprite sheet for that frame
      duration: 100, // duration of the frame in milliseconds
    ),
    (index: 1, duration: 100),
    (index: 2, duration: 120),
  ]
)
Errors

Returns an error if the content is not a valid ron representation of an animation

Create a new animation from frames

Create a new animation from index-range, using the same frame duration for each frame.

For more granular configuration, see from_frames

Panics

Panics if the duration is zero

Create a new animation from an index iterator, using the same frame duration for each frame.

Example

You may use this to create a reversed animation:

let animation = SpriteSheetAnimation::from_iter((0..5).rev(), Duration::from_millis(100));

For more granular configuration, see from_frames

Panics

Panics if the duration is zero

Runs the animation once and then stop playing

Repeat the animation forever

Repeat the animation forever, from a given frame index (loop back to it at the end of the animation)

Repeat the animation forever, going back and forth between the first and last frame.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

Creates a value from an iterator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Creates Self using data from the given World

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Returns the UUID associated with this value’s type.

Returns the type name of this value’s type.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more