NumberSequence

Visualizza obsoleti

*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

Proprietà

Costruttori

new

Restituisce un NumberSequence con i valori di inizio e fine impostati ai valori forniti n.


local numberSequence = NumberSequence.new(n)
-- Equivalente a
local 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 a
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n0),
NumberSequenceKeypoint.new(1, n1)
}

Parametri

n0: number
n1: number

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)
}

Parametri

Keypoints: Array

Proprietà

Keypoints

Un array che contiene NumberSequenceKeypoint valori per il NumberSequence .