NumberSequence

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Der Datentyp repräsentiert eine Reihe von Zahlwerten von bis .Die Zahlwerte werden mit dem eingebenNumberSequenceKeypoint ausgedrückt.Dieser Typ wird in Eigenschaften wie ParticleEmitter.Size und Beam.Transparency verwendet, um eine numerische Änderung im Laufe der Zeit zu definieren.

Gleichheit

Zwei NumberSequence Objekte sind nur dann gleichwertig, wenn die Werte ihrer NumberSequenceKeypoint Werte gleich sind, auch wenn beide zu ähnlichen Diagrammen führen würden.

Bewertung

Der Typ NumberSequence hat keine integrierte Methode zum Abrufen des Werts zu einem bestimmten Zeitpunkt/Punkt, weil Schlüsselpunkte zufällige Umschläge haben können.Wenn Sie jedoch davon ausgehen, dass die Umschaltswerte Ihrer Schlüsselpunkte alle 0 sind, können Sie die folgende Funktion verwenden, um zu einer bestimmten Zeit zu bewerten.


local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Wenn die Zeit 0 oder 1 ist, gib 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 Schlüsselpunkten
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, wie weit sich Alpha zwischen den Punkten befindet
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Gib 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

Eigenschaften

Konstrukteure

new

Gibt eine NumberSequence mit den Start- und Endwerten, die auf die angegebenen n festgelegt sind, zurück.


local numberSequence = NumberSequence.new(n)
-- Äquivalent zu
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n),
NumberSequenceKeypoint.new(1, n)
}

Parameter

new

Gibt eine NumberSequence von zwei Schlüsselpunkten mit n0 als Startwert und n1 als Endwert zurück.


local numberSequence = NumberSequence.new(n0, n1)
-- Äquivalent zu
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n0),
NumberSequenceKeypoint.new(1, n1)
}

Parameter

n0: number
n1: number

new

Gibt eine NumberSequence von einem Array von NumberSequenceKeypoints zurück.Die Schlüsselpunkte müssen in einer nicht absteigenden Zeitwerte-Reihenfolge bereitgestellt werden.Mindestens zwei Schlüsselpunkte müssen bereitgestellt werden, und sie müssen einen Zeitwert von 0 (erst) und 1 (letzter) haben.


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

Parameter

Keypoints: Array

Eigenschaften

Keypoints

Ein Array mit NumberSequenceKeypoint Werten für die NumberSequence.