[−][src]Struct tetra::graphics::animation::Animation
An animation, cycling between regions of a texture at a regular interval.
Calling advance
within your draw
method will drive the animation, switching the texture
region once the specified time has passed.
Implementations
impl Animation
[src]
pub fn new(
texture: Texture,
frames: Vec<Rectangle>,
frame_length: Duration
) -> Animation
[src]
texture: Texture,
frames: Vec<Rectangle>,
frame_length: Duration
) -> Animation
Creates a new looping animation.
pub fn once(
texture: Texture,
frames: Vec<Rectangle>,
frame_length: Duration
) -> Animation
[src]
texture: Texture,
frames: Vec<Rectangle>,
frame_length: Duration
) -> Animation
Creates a new animation that does not repeat once all of the frames have been displayed.
pub fn advance(&mut self, ctx: &Context)
[src]
Advances the animation's timer, switching the texture region if required.
pub fn advance_by(&mut self, duration: Duration)
[src]
Advances the animation's timer by a specified amount, switching the texture region if required.
pub fn restart(&mut self)
[src]
Restarts the animation from the first frame.
pub fn texture(&self) -> &Texture
[src]
Returns a reference to the texture currently being used by the animation.
pub fn set_texture(&mut self, texture: Texture)
[src]
Sets the texture that will be used by the animation.
This method will not change the frame definitions or current state of the animation,
so it can be used for e.g. swapping spritesheets. If you need to change the slicing
for the new texture, call set_frames
.
pub fn frames(&self) -> &[Rectangle]
[src]
Gets the sections of the texture being displayed for each frame of the animation.
pub fn set_frames(&mut self, new_frames: Vec<Rectangle>)
[src]
Sets the sections of the texture being displayed for each frame of the animation.
This method will reset the animation back to frame zero.
pub fn frame_length(&self) -> Duration
[src]
Gets the amount of time that each frame of the animation lasts for.
pub fn set_frame_length(&mut self, new_frame_length: Duration)
[src]
Sets the amount of time that each frame of the animation lasts for.
pub fn repeating(&self) -> bool
[src]
Gets whether or not the animation is currently set to repeat when it reaches the end of the frames.
pub fn set_repeating(&mut self, repeating: bool)
[src]
Sets whether or not the animation should repeat when it reaches the end of the frames.
pub fn current_frame_index(&self) -> usize
[src]
Gets the index of the frame that is currently being displayed.
This index is zero-based, and can be used in combination with the frames
method in order to track the progress of the animation.
pub fn set_current_frame_index(&mut self, index: usize)
[src]
Sets which frame of the animation should be displayed.
Usually you will want to control the animation by calling advance
or advance_by
, but this method can be useful for more fine-grained
control.
The index is zero-based, and must be within the bounds of the animation's
frames
, otherwise this method will panic.
pub fn current_frame_time(&self) -> Duration
[src]
Gets the duration that the current frame has been visible.
This can be used in combination with the frame_length
method
in order to track the progress of the animation.
pub fn set_current_frame_time(&mut self, duration: Duration)
[src]
Sets the duration that the current frame has been visible.
Usually you will want to control the animation by calling advance
or advance_by
, but this method can be useful for more fine-grained
control.
The animation will not advance past the end of the current frame until the next call
to advance
or advance_by
. If a value is
given that is larger than frame_length
, this animation may skip frames.
Trait Implementations
impl Clone for Animation
[src]
impl Debug for Animation
[src]
impl Drawable for Animation
[src]
fn draw<P>(&self, ctx: &mut Context, params: P) where
P: Into<DrawParams>,
[src]
P: Into<DrawParams>,
Auto Trait Implementations
impl !RefUnwindSafe for Animation
impl !Send for Animation
impl !Sync for Animation
impl Unpin for Animation
impl !UnwindSafe for Animation
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,