NumberSequence

显示已弃用

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

NumberSequence 数据类型代表从 01 一系列数值。数字值使用 NumberSequenceKeypoint 输入型表达。这种类型在属性中使用,例如 ParticleEmitter.SizeBeam.Transparency 来定义时间上的数值变化。

平等

两个 NumberSequence 对象只有在其 NumberSequenceKeypoint 值相等时才相等,即使两者都会导致相似的图表。

评估

NumberSequence 类型没有内置方法获取特定时间/点的值,因为键点可以有随机封装。然而,假设你的钥匙点的封装值都是 0,你可以使用以下函数在特定时间进行评估。


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

返回一个 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)
}

参数

n0: number
n1: number

new

NumberSequence 阵列中返回一个 NumberSequenceKeypoints 。钥匙点必须按非下降时间值顺序提供。至少需要提供两个关键点,它们必须有时间值 0 (第一个) 和 1 (最后一个)。


local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.5, 0.5, 0.25),
NumberSequenceKeypoint.new(1, 1)
}

参数

Keypoints: Array

属性

Keypoints

包含 NumberSequenceKeypoint 值的阵列,用于 NumberSequence