spark.effects.interpolationIInterpolator IInterpolator 接口是由为 Animation 类计算值的类实现的。 IInterpolator 接口是由为 Animation 类计算值的类实现的。Animation 类可以处理在 Number 值和 Number 值的数组之间的参量插值,但它无法处理不同类型的插值,或在不同类型的值之间的插值。此接口的实现者可以提供任意插值功能,这样可以在任意值之间创建 Animation。 decrement 如果有一个基值和一个从其减去的值,则返回该减量操作的结果。内插值。 baseValue插值的开始值。 decrementValue应用到 baseValue 的更改。 如果有一个基值和一个从其减去的值,则返回该减量操作的结果。例如,如果这些对象只是 Number,则结果将会是 Number(baseValue) - Number(incrementValue)。如果有某些结束值和一个应该从其减去的 'by' 值,则当此函数需要动态地计算一个值时,动画系统会调用此函数。这两个参数都属于类型 Object,且不能简单地将它们加到一起。 increment 如果有一个基值和一个要添加到它的值,则返回该操作的结果。内插值。 baseValue插值的开始值。 incrementValue应用到 baseValue 的更改。 如果有一个基值和一个要添加到它的值,则返回该操作的结果。例如,如果这些对象只是 Number,则结果将会是 Number(baseValue) + Number(incrementValue)。如果有某些开始值和一个应该添加到它的 'by' 值,则当此方法需要动态地计算一个值时,动画系统会调用此方法。这两个参数都属于类型 Object,且不能简单地将它们加到一起。 interpolate 如果有在 0.0 和 1.0 之间的某个动画的已过去部分,以及要插补的开始值和结束值,则返回内插值。内插值。 fraction动画的已过去部分,在 0.0 和 1.0 之间。 startValue插值的开始值。 endValue插值的结束值。 如果有在 0.0 和 1.0 之间的某个动画的已过去部分,以及要插补的开始值和结束值,则返回内插值。 MultiValueInterpolator MultiValueInterpolator 类单独地插补开始元素和结束元素的 Array 或 Vector 的每个元素,使用另一个插补器为每个元素执行插值。spark.effects.interpolation:IInterpolatorObject MultiValueInterpolator 类单独地插补开始元素和结束元素的 Array 或 Vector 的每个元素,使用另一个插补器为每个元素执行插值。默认情况下,每个元素的插值都使用 NumberInterpolator 类,但是您可以使用一个不同的插补器构造一个 MultiValueInterpolator 实例。 MultiValueInterpolator 构造函数。elementInterpolatorspark.effects.interpolation:IInterpolatornullArray 的每个元素的插补器。如果未指定插补器,则使用 NumberInterpolator 类。 构造函数。 decrement 如果有一个基值和一个从其减去的值,则返回该减量操作的结果。内插值。 baseValue插值的开始值。 decrementValue应用到 baseValue 的更改。 如果有一个基值和一个从其减去的值,则返回该减量操作的结果。例如,如果这些对象只是 Number,则结果将会是 Number(baseValue) - Number(incrementValue)。如果有某些结束值和一个应该从其减去的 'by' 值,则当此函数需要动态地计算一个值时,动画系统会调用此函数。这两个参数都属于类型 Object,且不能简单地将它们加到一起。 increment 如果有一个基值和一个要添加到它的值,则返回该操作的结果。内插值。 baseValue插值的开始值。 incrementValue应用到 baseValue 的更改。 如果有一个基值和一个要添加到它的值,则返回该操作的结果。例如,如果这些对象只是 Number,则结果将会是 Number(baseValue) + Number(incrementValue)。如果有某些开始值和一个应该添加到它的 'by' 值,则当此方法需要动态地计算一个值时,动画系统会调用此方法。这两个参数都属于类型 Object,且不能简单地将它们加到一起。 interpolate 如果有在 0.0 和 1.0 之间的某个动画的已过去部分,以及要插补的开始值和结束值,则返回内插值。内插值。 fraction动画的已过去部分,在 0.0 和 1.0 之间。 startValue插值的开始值。 endValue插值的结束值。 如果有在 0.0 和 1.0 之间的某个动画的已过去部分,以及要插补的开始值和结束值,则返回内插值。MultiValueInterpolator 的插值包括对 startValue 和 endValue 数组或矢量的每个元素运行单独的插值,并返回包含这些内插值的新数组或矢量。如果 startValue 和 endValue 属于 Array 类型,则返回的对象将为 Array,否则返回的对象将属于 Vector 类型。 elementInterpolator 输入 Array 或 Vector 的每个元素的插补器。spark.effects.interpolation:IInterpolatorNumberInterpolator 输入 Array 或 Vector 的每个元素的插补器。值为 null 指定使用 NumberInterpolator 类。 NumberInterpolator NumberInterpolator 类在表示为 Number 实例的开始值和结束值之间提供插值。spark.effects.interpolation:IInterpolatorObject NumberInterpolator 类在表示为 Number 实例的开始值和结束值之间提供插值。 NumberInterpolator 构造函数。 构造函数。 decrement 如果有一个基值和一个从其减去的值,则返回该减量操作的结果。内插值。 baseValue插值的开始值。 decrementValue应用到 baseValue 的更改。 如果有一个基值和一个从其减去的值,则返回该减量操作的结果。例如,如果这些对象只是 Number,则结果将会是 Number(baseValue) - Number(incrementValue)。如果有某些结束值和一个应该从其减去的 'by' 值,则当此函数需要动态地计算一个值时,动画系统会调用此函数。这两个参数都属于类型 Object,且不能简单地将它们加到一起。 getInstance 返回此类的单元素。此类的单元素。 spark.effects.interpolation:NumberInterpolator 返回此类的单元素。由于所有 NumberInterpolator 都有相同的行为,所以不需要一个以上实例。 increment 如果有一个基值和一个要添加到它的值,则返回该操作的结果。内插值。 baseValue插值的开始值。 incrementValue应用到 baseValue 的更改。 如果有一个基值和一个要添加到它的值,则返回该操作的结果。例如,如果这些对象只是 Number,则结果将会是 Number(baseValue) + Number(incrementValue)。如果有某些开始值和一个应该添加到它的 'by' 值,则当此方法需要动态地计算一个值时,动画系统会调用此方法。这两个参数都属于类型 Object,且不能简单地将它们加到一起。 interpolate NumberInterpolator 的插值由 startValue 和 endValue 之间的一个简单参量计算组成,将 fraction 用作从头到尾已过去时间的部分:返回 startValue + fraction (endValue - startValue); 内插值。 fraction动画的已过去部分,在 0.0 和 1.0 之间。 startValue插值的开始值。 endValue插值的结束值。 NumberInterpolator 的插值由 startValueendValue 之间的一个简单参量计算组成,将 fraction 用作从头到尾已过去时间的部分:
return startValue + fraction (endValue - startValue);
RGBInterpolator RGBInterpolator 类提供表示 RGB 颜色的 uint 开始值和结束值之间的插值。spark.effects.interpolation:IInterpolatorObject RGBInterpolator 类提供表示 RGB 颜色的 uint 开始值和结束值之间的插值。插值是这样完成的:将开始值和结束值视为在最低位的 3 个字节中包含颜色通道信息的整数,然后分别插补每个通道。 RGBInterpolator 构造函数。 构造函数。 decrement 返回逐通道相减的两个值的结果。内插值。 baseValue插值的开始值。 decrementValue应用到 baseValue 的更改。 返回逐通道相减的两个值的结果。每个通道的最小值都为 0,以避免下溢问题。 getInstance 返回此类的单元素。此类的单元素。 spark.effects.interpolation:RGBInterpolator 返回此类的单元素。由于所有 RGBInterpolator 都有相同的行为,因此不需要一个以上实例。 increment 返回逐通道相加的两个值的结果。内插值。 baseValue插值的开始值。 incrementValue应用到 baseValue 的更改。 返回逐通道相加的两个值的结果。每个通道的最大值都为 255,以避免上溢问题。 interpolate RGBInterpolator 类的插值在 startValue 和 endValue 的底部三个字节上都采用参量计算的形式。内插值。 fraction动画的已过去部分,在 0.0 和 1.0 之间。 startValue插值的开始值。 endValue插值的结束值。 RGBInterpolator 类的插值在 startValueendValue 的底部三个字节上都采用参量计算的形式。 HSBInterpolator HSBInterpolator 类提供在 RGB uint 开始值和结束值之间的 Hue、Saturation 和 Brightness (HSB) 颜色插值。spark.effects.interpolation:IInterpolatorObject HSBInterpolator 类提供在 RGB uint 开始值和结束值之间的 Hue、Saturation 和 Brightness (HSB) 颜色插值。插值是这样完成的:将开始值和结束值视为在最低位的 3 个字节中包含 RGB 颜色通道信息的整数,将这些值转换为 HSB 值,然后为 h (hue)、s (saturation) 的 b (brightness) 参数中的每一个进行线性插补。

因为与只是插补某个给定类型的典型插补器相比,此插补器可能会执行更多的计算,特别是用于转换 RGB 开始值和结束值,所以此插补器会提供向构造函数提供开始值和结束值的选项。如果指定了开始 RGB 值和结束 RGB 值,则这些值的转换只会计算一次,且不需要在动画播放过程中将来每次调用 interpolate() 方法时进行计算。

HSBInterpolator 构造函数。startRGBunknown开始颜色,作为一个无符号整数 RGB 值。 endRGBunknown结束颜色,作为一个无符号整数 RGB 值。 构造函数。startRGBendRGB 的可选参数通过在构造时执行 RGB 到 HSB 的转换(而不是以动态方式借助对 interpolate() 方法的每次调用),帮助优化运行时性能。 decrement 返回作为 HSB 颜色相加到一起的两个 RGB 值的结果。内插值。 baseValue插值的开始值。 decrementValue应用到 baseValue 的更改。 返回作为 HSB 颜色相加到一起的两个 RGB 值的结果。会首先将每个值转换为一种 HSB 颜色,然后分别处理每个组件(色调、饱和度和亮度)。会将饱和度和亮度组件钳制到位于 0 和 1 之间,且会按 360 调制色度以位于 0 和 360 之间。 getInstance 返回此类的单元素。HSBInterpolator 类的单元素。 spark.effects.interpolation:HSBInterpolator 返回此类的单元素。

请注意 HSBInterpolator 类的单元素可能比不上该类的单独实例有用,因为单独实例可以利用开始颜色和结束颜色的 RGB 到 HSB 转换的预先计算。

increment 返回作为 HSB 颜色相加到一起的两个 RGB 值的结果。内插值。 baseValue插值的开始值。 incrementValue应用到 baseValue 的更改。 返回作为 HSB 颜色相加到一起的两个 RGB 值的结果。会首先将每个值转换为一种 HSB 颜色,然后将分别处理每个组件(色调、饱和度和亮度)。会将饱和度和亮度组件钳制到位于 0 和 1 之间,且会按 360 调制色度以位于 0 和 360 之间。 interpolate HSBInterpolator 类的插值在从开始 RGB 颜色和结束 RGB 颜色派生的 HSB 颜色的三个值 h (hue)、s (saturation) 和 b (brightness) 的每一个上采用参量计算的形式。内插值。 fraction动画的已过去部分,在 0.0 和 1.0 之间。 startValue插值的开始值。 endValue插值的结束值。 HSBInterpolator 类的插值在从开始 RGB 颜色和结束 RGB 颜色派生的 HSB 颜色的三个值 h (hue)、s (saturation) 和 b (brightness) 的每一个上采用参量计算的形式。