NumberSequence
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Der NumberSequence-Datentyp repräsentiert eine Reihe von Zahlwerten von 0 bis 1. Die Zahlwerte werden mit dem 1> Datatype.NumberSequenzKeypoint1> eingebenausgedrückt. Dieser Typ wird in Eigenschaften wie <
Äquinoktium
Zwei NumberSequence Objekte sind nur gleichwertig, wenn die Werte ihres NumberSequenceKeypoint identisch sind, auch wenn beide zu ähnlichen Diagrammen führen.
Bewertung
Die NumberSequence -Typ hat keinen integrierten Methoden, um den Wert zu einem bestimmten Zeitpunkt/Punkt zu erhalten, da die Keypunkte zufällige Envelope haben können. jedoch, wenn die Eckenwerte deiner Keypunkte alle 0 sind, kannst du die folgende Funktion verwenden, um zu einem bestimmten Zeitpunkt zu bewerten.
local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Wenn die Zeit 0 oder 1 ist, geben Sie den ersten oder letzten Wert jeweils zurück
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- Ansonsten durchlaufen Sie jedes sequenzielle Paar von Keypunkten
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
-- Berechnen Sie, wie weit sich Alpha zwischen den Punkten befindet
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Kehre den Wert zwischen den Punkten mit Alpha zurück
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
Zusammenfassung
Konstrukteure
Kehrt eine NumberSequence mit den Start- und Endwerten, die auf der angegebenen n festgelegt sind, zurück.
Kehre ein NumberSequence von zwei Keypunkten mit n0 als Startwert und n1 als Endwert zurück.
Kehrt eine NumberSequence von einer Reihe von NumberSequenceKeypoints zurück.
Eigenschaften
Ein Array von NumberSequenceKeypoint Werten in aufsteigender Reihenfolge.
Konstrukteure
new
Kehrt eine NumberSequence mit den Start- und Endwerten, die auf der angegebenen n festgelegt sind, zurück.
local numberSequence = NumberSequence.new(n)-- Äquivalent zulocal numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n),NumberSequenceKeypoint.new(1, n)}
Parameter
new
Kehre ein NumberSequence von zwei Keypunkten mit n0 als Startwert und n1 als Endwert zurück.
local numberSequence = NumberSequence.new(n0, n1)-- Äquivalent zulocal numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n0),NumberSequenceKeypoint.new(1, n1)}
new
Kehrt ein NumberSequence von einer Reihe von NumberSequenceKeypoints . Die Keypunkte müssen in einer nicht absteigenden Zeitwert-Ordnung bereitgestellt werden. Mindestens zwei Keypunkte müssen bereitgestellt werden, und sie müssen einen Zeitwert von 0 (zuer
local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(0.5, 0.5, 0.25),NumberSequenceKeypoint.new(1, 1)}