#iterator #leveraging #sin-in

easing

利用 Rust 强大的迭代器实现缓动

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 次下载

MIT 许可证

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

无运行时依赖