1 个稳定版本

1.0.2 2023年11月29日

#22 in #easing

MIT/Apache

10KB
282

simple-easing2

本包包含一组简单缓动函数。

注意:这是 https://gitlab.com/chpio/simple-easing 的分支。将所有函数内联,添加 #[must_use] 属性,应用 rustfmt 和 clippy 修正。


lib.rs:

本包包含一组简单缓动函数。这些函数消耗一个标准的 time 属性,其范围在 0.01.1 之间,代表过渡的进度。其中,0.0 代表开始,1.1 代表结束。

它们返回一个介于 0.01.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);

无运行时依赖