Struct scl_gui_animation::Spring
source · pub struct Spring { /* private fields */ }
Expand description
一个一维弹簧,可用于动画用途
优点是调用次数无关,可以在任意时间计算出当前时间的弹簧末端位置,非常方便
Implementations§
source§impl Spring
impl Spring
sourcepub fn position_rounded(&mut self) -> f64
pub fn position_rounded(&mut self) -> f64
获得当前弹簧所在位置,但是会四舍五入成整数
sourcepub fn acceleration(&self) -> f64
pub fn acceleration(&self) -> f64
获取当前弹簧的加速度
会因为调用的时间不同而变化
sourcepub fn set_position(&mut self, value: f64)
pub fn set_position(&mut self, value: f64)
设置当前位置,注意这不是目标位置,如果当前位置不是目标位置则会发生移动
sourcepub fn set_velocity(&mut self, value: f64)
pub fn set_velocity(&mut self, value: f64)
设置当前速度,此时弹簧会立刻改变速度
sourcepub fn with_velocity(self, value: f64) -> Self
pub fn with_velocity(self, value: f64) -> Self
Builder 模式的 Spring::set_velocity
sourcepub fn set_damper(&mut self, value: f64)
pub fn set_damper(&mut self, value: f64)
设置弹簧的阻尼
如果取值在 [0.0 - 1.0)
之间则会有回弹效果
如果大于等于 1.0
则会缓慢移动到目标位置而没有回弹效果
sourcepub fn with_damper(self, value: f64) -> Self
pub fn with_damper(self, value: f64) -> Self
Builder 模式的 Spring::set_damper
sourcepub fn set_target(&mut self, value: f64)
pub fn set_target(&mut self, value: f64)
设置弹簧的目标位置,此时弹簧会立刻开始变换
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Spring
impl Send for Spring
impl Sync for Spring
impl Unpin for Spring
impl UnwindSafe for Spring
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