NumberSequence

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Datatype.NumberSequencer 数据类型代表一个从 01 的数值系列。 数值用 1>Datatype.NumberSequencerKeypoint1> 输入型表示。 此类型在属性上使用 4>Class.ParticleEmitter.Size4> 和

平等

两个 NumberSequence 对象只相当于,如果它们的 NumberSequenceKeypoint 值都相同,即使两者都将导致类似图形。

评估

Datatype.NumberSequencer 类型不具有特定时间/点的值获取方法,因为键点可以有随机包裹。但假设您的键点的0 键点的所有价值都是1,您可以使用以下函数进行评估:1>평均值1>。


local function evalNumberSequence(sequence: NumberSequence, time: number)
-- 如果时间为 0 或 1,将第一个或最后的值返回
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- 否则,通过每对连续的键点对象
for i = 1, #sequence.Keypoints - 1 do
local currKeypoint = sequence.Keypoints[i]
local nextKeypoint = sequence.Keypoints[i + 1]
if time >= currKeypoint.Time and time < nextKeypoint.Time then
-- 计算点之间的 alpha 是多远
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- 使用 alpha 返回值之间的点
return currKeypoint.Value + (nextKeypoint.Value - currKeypoint.Value) * alpha
end
end
end
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.5, 1),
NumberSequenceKeypoint.new(1, 0),
}
print(evalNumberSequence(numberSequence, 0.65)) --> 0.7

概要

构造工具

属性

构造工具

new

参数

new

参数

n0: number
n1: number

new

参数

Keypoints: Array

属性

Keypoints

一个含有 NumberSequenceKeypoint 值的阵列,用于 NumberSequence