NumberSequence
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il tipo di dati NumberSequence rappresenta una serie di valori numerici da 0 a 1 . I valori numerici sono espressi usando il inserisci / scrivi1> Datatype.NumberSequenzaKeypoint1> . Questo tipo viene utilizzato nelle proprietà come 4>
Uguaglianza
Due oggetti NumberSequence sono equivalenti solo se i valori dei loro NumberSequenceKeypoint sono equivalenti, anche se entrambi avrebbero dato grafici simili.
Valutazione
Il tipo NumberSequence non ha un metodo incorporato per ottenere il valore in un certo momento / punto perché i punti chiave possono avere inviti casuali. Tuttavia, supponendo che i valori degli inviti siano tutti 0, puoi utilizzare la funzione seguente per valutare in un momento specifico.
local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Se il tempo è 0 o 1, restituisci il primo o l'ultimo valore rispettivamente
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- Altrimenti, passa attraverso ciascuna coppia sequenziale di punti chiave
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
-- Calcola quanto la Alpha si trova tra i punti
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Restituisci il valore tra i punti utilizzando 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
Sommario
Costruttori
Restituisce un NumberSequence con i valori iniziali e finali impostati al valore fornito n .
Restituisce un NumberSequence di due keypoint con n0 come valore di partenza e n1 come valore di destinazione.
Restituisce un NumberSequence da un array di NumberSequenceKeypoints .
Proprietà
Un array di NumberSequenceKeypoint valori nell'ordine crescente.
Costruttori
new
Restituisce un NumberSequence con i valori iniziali e finali impostati al valore fornito n .
local numberSequence = NumberSequence.new(n)-- Equivalente alocal numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n),NumberSequenceKeypoint.new(1, n)}
Parametri
new
Restituisce un NumberSequence di due keypoint con n0 come valore di partenza e n1 come valore di destinazione.
local numberSequence = NumberSequence.new(n0, n1)-- Equivalente alocal numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n0),NumberSequenceKeypoint.new(1, n1)}
new
Ritorna un NumberSequence da un array di NumberSequenceKeypoints . I keypoint devono essere forniti in un ordine di tempo non ascendente. Almeno due keypoint devono essere forniti, e devono avere un valore di 0 (primo) e 1> 11>
local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(0.5, 0.5, 0.25),NumberSequenceKeypoint.new(1, 1)}