Datatype.NumberSequencer 数据类型代表一个从 0 到 1 的数值系列。 数值用 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
概要
构造工具
返回一个 NumberSequence ,其开始和结束值设置为提供的 n 。
返回一个 NumberSequence 的两个键点,其中 n0 作为起始值, n1 作为终止值。
从 NumberSequence 阵列中返回一个 NumberSequenceKeypoints。
构造工具
new
返回一个 NumberSequence ,其开始和结束值设置为提供的 n 。
local numberSequence = NumberSequence.new(n)-- 相当于local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n),NumberSequenceKeypoint.new(1, n)}
参数
new
返回一个 NumberSequence 的两个键点,其中 n0 作为起始值, n1 作为终止值。
local numberSequence = NumberSequence.new(n0, n1)-- 相当于local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n0),NumberSequenceKeypoint.new(1, n1)}
new
从 NumberSequenceKeypoints 阵列中返回一个 0 。 键点必须在递归时间的顺序值中提供。 至少两个键点必须提供,并且它们必须具有一个时值为 1>01> (首先) 和 4>14> (最后) 。
local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(0.5, 0.5, 0.25),NumberSequenceKeypoint.new(1, 1)}