我正在使用d3版本3,我正在尝试使用d3的简易功能进行动画制作。根据函数的定义,它有一个返回值
function ease(type: 'cubic-in'): (t: number) => number;
我期待一个数字作为在我的计算中使用它的返回值。但是,现在我如何将缓动函数的返回值转换为数字。 还有其他方法可以达到这个目的吗?
谢谢。
答案 0 :(得分:3)
d3.ease
已经返回一个数字。
您只需将所需的值传递给d3.ease
:
d3.ease(type)(value);
以下是"cubic-in"
的演示,如您的问题所示:
function ease(value) {
return d3.ease("cubic-in")(value);
}
console.log("ease for 0.1: " + ease(4));
console.log("ease for 0.5: " + ease(0.5));
console.log("ease for 0.8: " + ease(0.8));
console.log("ease for 0.95: " + ease(0.95));

<script src="https://d3js.org/d3.v3.min.js"></script>
&#13;
请注意,传递的值和返回的值介于0
和1
之间。根据{{3}}:
缓动函数采用域
t
中的当前参数化时间值[0,1]
,并将其映射到类似范围内的其他值。