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 utilizzando il inserisci / scriviNumberSequenceKeypoint .Questo tipo viene utilizzato in proprietà come ParticleEmitter.Size e Beam.Transparency per definire un cambiamento numerico nel tempo.
Equità
Due oggetti NumberSequence sono equivalenti solo se i valori dei loro NumberSequenceKeypoint sono equivalenti, anche se entrambi produrrebbero grafici simili.
Valutazione
Il tipo NumberSequence non ha un metodo integrato per ottenere il valore a un certo momento/punto perché i punti chiave possono avere involucri casuali.Tuttavia, supponendo che i valori dell'invio dei tuoi punti chiave siano tutti 0, puoi usare la seguente funzione per valutare a 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 ogni coppia sequenziale di punti di accesso
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 l'alfa 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 di inizio e fine impostati ai valori forniti n.
Restituisce un NumberSequence di due punti chiave con n0 come valore iniziale e n1 come valore finale.
Restituisce un NumberSequence da un array di NumberSequenceKeypoints .
Proprietà
Un array di NumberSequenceKeypoint valori in ordine crescente.
Costruttori
new
Restituisce un NumberSequence con i valori di inizio e fine impostati ai valori forniti 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 punti chiave con n0 come valore iniziale e n1 come valore finale.
local numberSequence = NumberSequence.new(n0, n1)-- Equivalente alocal numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n0),NumberSequenceKeypoint.new(1, n1)}
new
Restituisce un NumberSequence da un array di NumberSequenceKeypoints .I punti chiave devono essere forniti in un ordine di valore temporale non discendente.Almeno due punti chiave devono essere forniti e devono avere un valore temporale di 0 (primo) e 1 (ultimo).
local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(0.5, 0.5, 0.25),NumberSequenceKeypoint.new(1, 1)}