pub struct AnimationClip {
pub frames: Vec<Rect>,
pub frame_duration: f32,
pub mode: PlaybackMode,
}Expand description
Defines the frame sequence and timing for a sprite animation.
AnimationClip is a plain data struct, not a component. It is stored
inside a SpriteAnimator component.
§Example
use goud_engine::ecs::components::sprite_animator::{AnimationClip, PlaybackMode};
use goud_engine::core::math::Rect;
let frames = vec![
Rect::new(0.0, 0.0, 32.0, 32.0),
Rect::new(32.0, 0.0, 32.0, 32.0),
Rect::new(64.0, 0.0, 32.0, 32.0),
];
let clip = AnimationClip::new(frames, 0.1);
assert_eq!(clip.mode, PlaybackMode::Loop);Fields§
§frames: Vec<Rect>Source rectangles for each frame (pixel coordinates).
frame_duration: f32Seconds per frame.
mode: PlaybackModePlayback mode (Loop or OneShot).
Implementations§
Source§impl AnimationClip
impl AnimationClip
Sourcepub fn new(frames: Vec<Rect>, frame_duration: f32) -> AnimationClip
pub fn new(frames: Vec<Rect>, frame_duration: f32) -> AnimationClip
Creates a new animation clip with the given frames and frame duration.
Defaults to PlaybackMode::Loop.
Sourcepub fn with_mode(self, mode: PlaybackMode) -> AnimationClip
pub fn with_mode(self, mode: PlaybackMode) -> AnimationClip
Sets the playback mode for this clip (builder pattern).
Trait Implementations§
Source§impl Clone for AnimationClip
impl Clone for AnimationClip
Source§fn clone(&self) -> AnimationClip
fn clone(&self) -> AnimationClip
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AnimationClip
impl Debug for AnimationClip
Source§impl<'de> Deserialize<'de> for AnimationClip
impl<'de> Deserialize<'de> for AnimationClip
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AnimationClip, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AnimationClip, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for AnimationClip
impl PartialEq for AnimationClip
Source§impl Serialize for AnimationClip
impl Serialize for AnimationClip
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for AnimationClip
Auto Trait Implementations§
impl Freeze for AnimationClip
impl RefUnwindSafe for AnimationClip
impl Send for AnimationClip
impl Sync for AnimationClip
impl Unpin for AnimationClip
impl UnsafeUnpin for AnimationClip
impl UnwindSafe for AnimationClip
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more