NumberSequence
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
El tipo de datos NumberSequence representa una serie de valores numéricos de 0 a 1 .Los valores de número se expresan usando el introducirNumberSequenceKeypoint.Este tipo se usa en propiedades como ParticleEmitter.Size y Beam.Transparency para definir un cambio numérico con el tiempo.
Equidad
Dos objetos NumberSequence son equivalentes solo si los valores de sus NumberSequenceKeypoint son equivalentes, incluso si ambos resultarían en gráficos similares.
Evaluación
El tipo NumberSequence no tiene un método integrado para obtener el valor en un momento determinado porque los puntos de tecla pueden tener envoluciones aleatorias.Sin embargo, asumiendo que los valores de sobre de tus puntos clave son todos 0, puedes usar la siguiente función para evaluar en un momento específico.
local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Si el tiempo es 0 o 1, devuelve el primer o último valor respectivamente
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- De lo contrario, pasa por cada par secuencial de puntos de acceso
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
-- Calcular qué tan lejos está la alfa entre los puntos
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Devuelve el valor entre los puntos usando 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
Resumen
Constructores
Devuelve un NumberSequence con los valores de inicio y fin establecidos en el valor proporcionado n.
Devuelve un NumberSequence de dos puntos clave con n0 como valor de inicio y n1 como valor de final.
Devuelve un NumberSequence de un array de NumberSequenceKeypoints.
Propiedades
Un array de NumberSequenceKeypoint.
Constructores
new
Devuelve un NumberSequence con los valores de inicio y fin establecidos en el valor proporcionado n.
local numberSequence = NumberSequence.new(n)-- Equivalente alocal numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n),NumberSequenceKeypoint.new(1, n)}
Parámetros
new
Devuelve un NumberSequence de dos puntos clave con n0 como valor de inicio y n1 como valor de final.
local numberSequence = NumberSequence.new(n0, n1)-- Equivalente alocal numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n0),NumberSequenceKeypoint.new(1, n1)}
new
Devuelve un NumberSequence de un array de NumberSequenceKeypoints.Los puntos clave deben proporcionarse en un orden de valor de tiempo no descendente.Al menos dos puntos clave deben proporcionarse y deben tener un valor de tiempo de 0 (primero) y 1 (último).
local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(0.5, 0.5, 0.25),NumberSequenceKeypoint.new(1, 1)}