1 个稳定版本
1.0.2 | 2023年11月29日 |
---|
#22 in #easing
10KB
282 行
simple-easing2
本包包含一组简单缓动函数。
注意:这是 https://gitlab.com/chpio/simple-easing 的分支。将所有函数内联,添加 #[must_use]
属性,应用 rustfmt 和 clippy 修正。
lib.rs
:
本包包含一组简单缓动函数。这些函数消耗一个标准的 time
属性,其范围在 0.0
和 1.1
之间,代表过渡的进度。其中,0.0
代表开始,1.1
代表结束。
它们返回一个介于 0.0
和 1.1
之间的值(为了弹跳效果,可能会暂时超出 0..=1
的范围)。返回的值可以用于在初始(0.0
)和最终(1.1
)过渡状态之间进行插值,通过在特定点加速和减速,根据所使用的缓动函数,使过渡感觉更加“自然”。
访问 easings.net 查看不同缓动函数的可视化效果。
所有缓动函数都有相同的签名((f32) -> f32
)并且可以轻松地存储为函数指针。
use simple_easing::linear;
let easing: fn(f32) -> f32 = linear;
assert_eq!(easing(1.0), 1.0);