NumberSequence

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Typ danych NumberSequence reprezentuje serię wartości liczbowych od 0 do 1.Wartości liczbowe są wyrażone za pomocą typu NumberSequenceKeypoint.Ten typ jest używany w właściwościach takich jak ParticleEmitter.Size i Beam.Transparency do określenia zmiany liczbowej z czasem.

Równość

Dwa obiekty NumberSequence są równoważne tylko wtedy, gdy wartości ich NumberSequenceKeypoint są równoważne, nawet jeśli oba doprowadzą do podobnych wykresów.

Ocena

Typ NumberSequence nie ma wbudowanej metody uzyskiwania wartości w określonym czasie/punkcie, ponieważ kluczowe punkty mogą mieć losowe koperty.Jednak załóżmy, że wartości przekroju twoich punktów kluczowych są wszystkie 0, możesz użyć następującej funkcji, aby ocenić w określonym czasie.


local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Jeśli czas wynosi 0 lub 1, zwróć odpowiednio pierwszą lub ostatnią wartość
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- W przeciwnym razie przejdź przez każdą sekwencyjną parę punktów kluczowych
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
-- Oblicz, jak daleko leży alfa między punktami
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Zwróć wartość między punktami za pomocą alfa
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

Podsumowanie

Konstruktorzy

Właściwości

Konstruktorzy

new

Zwraca NumberSequence z wartościami początkowymi i końcowymi ustawionymi na podanej wartości n.


local numberSequence = NumberSequence.new(n)
-- Równoważne z
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n),
NumberSequenceKeypoint.new(1, n)
}

Parametry

new

Zwraca NumberSequence dwóch punktów kluczowych z n0 jako wartością początkową i n1 jako wartością końcową.


local numberSequence = NumberSequence.new(n0, n1)
-- Równoważne z
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n0),
NumberSequenceKeypoint.new(1, n1)
}

Parametry

n0: number
n1: number

new

Zwraca NumberSequence z listy NumberSequenceKeypoints.Punkty kluczowe muszą być dostarczone w kolejności wartości czasu nie malejącej.Muszą być dostarczone co najmniej dwa punkty kluczowe, a ich wartość czasowa musi wynosić 0 (pierwszy) i 1 (ostatni).


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

Parametry

Keypoints: Array

Właściwości

Keypoints

Tablica zawierająca NumberSequenceKeypoint wartości dla NumberSequence .