4 个版本
使用旧 Rust 2015
| 0.0.5 | 2017年5月7日 | 
|---|---|
| 0.0.3 | 2017年3月12日 | 
| 0.0.2 | 2016年6月3日 | 
| 0.0.1 | 2014年12月16日 | 
#1274 在 算法 中
每月 50 次下载
10KB
359 行
easing Rust 缓动迭代器
Rust 迭代器很棒——为什么不使用它们进行缓动呢?可以这样使用
use easing;
let begin: f64 = 0;
let end:   f64 = 1000;
let steps: u64 = 10;
// In a for loop!
for x in easing::sin_in(begin, end, steps) {
    println!("Woo, I'm at x={}!", x);
}
// Mapping!
fn move_to(x: f64) {
    println!("Moving on up to {}", x);
}
easing::cubic_out(begin, end, steps).map(move_to);
// And other iterator stuff!
let xs: Vec<f64> = easing::exp_inout(begin, end, steps).collect(); // why would you do this
当前可用的迭代器有
| function | in | out | in and out | 
|---|---|---|---|
| linear | linear | linear | linear | 
| quadratic | quad_in | quad_out | quad_inout | 
| cubic | cubic_in | cubic_out | cubic_inout | 
| quartic | quartic_in | quartic_out | quartic_inout | 
| sinusoidal | sin_in | sin_out | sin_inout | 
| exponential | exp_in | exp_out | exp_inout | 
缓动函数来自 warrenm 的 AHEasing。
在 crates.io 上找到它: https://crates.io/crates/easing。
许可协议为 LGPLv3。