跳到主要内容

插值器(Interpolator)

插值器(Interpolator):用于关键帧缓动、状态过渡、布局动画以及插值类数据转换器。

Rive 会按所属实例分别创建插值器实例:每个正在播放的动画为每个关键帧创建一个;每个状态机为其过渡用到的每个插值器创建一个;每个画板为其布局样式用到的每个插值器创建一个;每个已绑定的转换器各有自己的实例。使用同一插值器的过渡或布局样式会共享同一个实例;从父布局继承动画的布局(包括嵌套画板和列表项)也同样共享。

因此,transform 和 transformValue 每帧可能被多个布局以任意顺序调用多次。请根据 value(以及 from 和 to)、输入项和 init 中设置的内容计算结果;不要在多次调用之间把进度保存在 self 中。

方法(Methods)​

init​

init(self: T, context: Context) -> boolean

初始化插值器。返回 true 表示初始化成功。

transform​

transform(self: T, value: number) -> number

将 0..1 范围内的线性进度 value 映射为缓动后的进度。

transformValue​

transformValue(self: T, from: number, to: number, value: number) -> number

返回在线性进度 value 处、介于 from 和 to 之间的数值。

看完还有疑问?进群交流下!
与众多 Rive 创作者、开发者一起交流探讨与答疑解惑。
加入交流群