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

A stage of an Animation.

All animations are made of stages. Simple animations may contain a single stage while more complex animations may contain a sequence of stages.

An AnimationStage references an AnimationClip that has been created with SpritesheetLibrary::new_clip.

Parameters like duration, repeat and direction can be optionally specified. If specified, they will override the default parameters of the underlying AnimationClip.

Implementations§

source§

impl AnimationStage

source

pub fn new( clip_id: AnimationClipId, duration: Option<AnimationDuration>, repeat: Option<u32>, direction: Option<AnimationDirection>, easing: Option<Easing> ) -> Self

Creates a new AnimationStage from an AnimationClipId with the given parameters.

§Arguments
  • clip_id - the ID of the clip referenced by this stage
  • duration - the optional duration of this stage
  • repeat - the optional number of repetitions of this stage
  • direction - the optional direction of this stage
  • easing - the optional easing of this stage
§Example
let animation_id = library.new_animation(|animation| {
    let mut stage = AnimationStage::new(
        clip_id,
        Some(AnimationDuration::PerCycle(2500)),
        Some(10),
        Some(AnimationDirection::Backwards),
        Some(Easing::Linear)
    );

    animation.add_stage(stage);
});
source

pub fn new_with<F: Fn(&mut Self)>(clip_id: AnimationClipId, builder: F) -> Self

Creates a new AnimationStage from an AnimationClipId and a builder function.

This is convenient if you prefer chaining calls when composing animations.

§Arguments
  • clip_id - the ID of the clip referenced by this stage
  • builder - a builder function that takes the new stage as an argument so that you can configure it
§Example
let animation_id = library.new_animation(|animation| {
    animation
        .add_stage(AnimationStage::new_with(clip1_id, |stage| {
           stage.set_repeat(5);
        }))
        .add_stage(AnimationStage::new_with(clip2_id, |stage| {
           stage.set_direction(AnimationDirection::PingPong);
        }));
});
source

pub fn from_clip(clip_id: AnimationClipId) -> Self

Creates a new AnimationStage from an AnimationClipId.

The stage will inherit its clip’s default parameters. To override them, use the set_XXX() functions.

§Arguments
  • clip_id - the ID of the clip referenced by this stage
§Example
let animation_id = library.new_animation(|animation| {
    let stage = AnimationStage::from_clip(clip_id);

    animation.add_stage(stage);
});
source

pub fn clip_id(&self) -> &AnimationClipId

source

pub fn set_duration(&mut self, duration: AnimationDuration) -> &mut Self

source

pub fn duration(&self) -> &Option<AnimationDuration>

source

pub fn set_repeat(&mut self, repeat: u32) -> &mut Self

source

pub fn repeat(&self) -> &Option<u32>

source

pub fn set_direction(&mut self, direction: AnimationDirection) -> &mut Self

source

pub fn direction(&self) -> &Option<AnimationDirection>

source

pub fn set_easing(&mut self, easing: Easing) -> &mut Self

source

pub fn easing(&self) -> &Option<Easing>

Trait Implementations§

source§

impl Clone for AnimationStage

source§

fn clone(&self) -> AnimationStage

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AnimationStage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<AnimationClipId> for AnimationStage

source§

fn from(clip_id: AnimationClipId) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T, U> AsBindGroupShaderType<U> for T
where U: ShaderType, &'a T: for<'a> Into<U>,

source§

fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<T> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

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.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

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

fn as_any(&self) -> &(dyn Any + 'static)

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

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

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

impl<T> DowncastSync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

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

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> TypeData for T
where T: 'static + Send + Sync + Clone,

source§

impl<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> Settings for T
where T: 'static + Send + Sync,

source§

impl<T> WasmNotSend for T
where T: Send,

source§

impl<T> WasmNotSendSync for T

source§

impl<T> WasmNotSync for T
where T: Sync,