NumberSequence¶
A series of floats across a period of time.
Description¶
The NumberSequence data type represents a series of number values
from 0 to 1. The number values are expressed using the
NumberSequenceKeypoint type. This type is used in properties such
as ParticleEmitter.Size and Beam.Transparency to define a
numerical change over time.
Equality¶
Two NumberSequence objects are equivalent only if the values of their NumberSequenceKeypoint are equivalent, even if both would result in similar graphs.
Evaluation¶
The NumberSequence type does not have a built-in method for getting
the value at a certain time/point because keypoints can have random envelopes.
However, assuming the envelope values of your keypoints are all 0, you can
use the following function to evaluate at a specific time.
local function evalNumberSequence(sequence: NumberSequence, time: number)
-- If time is 0 or 1, return the first or last value respectively
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- Otherwise, step through each sequential pair of keypoints
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
-- Calculate how far alpha lies between the points
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Return the value between the points using 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
Constructors¶
new Supported Returns a NumberSequence with the start and end values set to the provided n.
Returns a NumberSequence with the start and end values set to
the provided n.
new Supported Returns a NumberSequence of two keypoints with n0 as the start value and n1 as the end value.
Returns a NumberSequence of two keypoints with n0 as the
start value and n1 as the end value.
new Supported Returns a NumberSequence from an array of NumberSequenceKeypoints.
Returns a NumberSequence from an array of
NumberSequenceKeypoints. The keypoints
must be provided in a non-descending time value order. At least two
keypoints must be provided, and they must have a time value of 0 (first)
and 1 (last).
Properties¶
Keypoints Supported An array of NumberSequenceKeypoint values in ascending order.
An array of NumberSequenceKeypoint values in ascending order.
An array containing NumberSequenceKeypoint values for the NumberSequence.
Nova binding inventory¶
| Library | Members |
|---|---|
new |
Keypoints |
Roblox reference: NumberSequence