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。