Datatype.NumberSequencer 資料類型代表一個數字值的序列,自 0 到 1 。數字值使用 1>Datatype.NumberSequencerKeypoint1> 類型來表示。此類輸入在屬性上使用 4>Class.ParticleEmitter
平等
兩個 NumberSequence 對象只相當於,如果它們的 NumberSequenceKeypoint 值相當,即使是兩個不相同的圖形。
評價
Datatype.NumberSequencer 類型沒有預設的方法來在特定時間/點獲得值,因為鍵盤可以有隨機包裹。但是,假設您的鍵盤值都是 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
概要
屬性
一個值 NumberSequenceKeypoint 的列表,以上升的順序。