ColorSequence
*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 ColorSequence representa un gradiente de valores de color de 0 a 1 .Los valores de color se expresan usando el introducirColorSequenceKeypoint.Este tipo se usa en varias propiedades de ParticleEmitter , Trail , Beam , y otros objetos que usan gradientes de color.
Equidad
Dos objetos ColorSequence son equivalentes solo si los valores de sus ColorSequenceKeypoint son equivalentes, incluso si ambos resultarían en gradientes similares.
Evaluación
El tipo ColorSequence no tiene un método integrado para obtener el valor en un momento determinado/punto.Sin embargo, puedes usar la función siguiente para evaluar en un momento específico.
local function evalColorSequence(sequence: ColorSequence, 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 thisKeypoint = sequence.Keypoints[i]
local nextKeypoint = sequence.Keypoints[i + 1]
if time >= thisKeypoint.Time and time < nextKeypoint.Time then
-- Calcular qué tan lejos está la alfa entre los puntos
local alpha = (time - thisKeypoint.Time) / (nextKeypoint.Time - thisKeypoint.Time)
-- Evaluar el valor real entre los puntos usando alpha
return Color3.new(
(nextKeypoint.Value.R - thisKeypoint.Value.R) * alpha + thisKeypoint.Value.R,
(nextKeypoint.Value.G - thisKeypoint.Value.G) * alpha + thisKeypoint.Value.G,
(nextKeypoint.Value.B - thisKeypoint.Value.B) * alpha + thisKeypoint.Value.B
)
end
end
end
local colorSequence = ColorSequence.new{
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 190, 200)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(190, 0, 255))
}
print(evalColorSequence(colorSequence, 0.75)) --> 0.372549, 0.372549, 0.892157
Resumen
Constructores
Devuelve un nuevo ColorSequence que es completamente el color especificado.
Devuelve un nuevo ColorSequence con c0 como valor de inicio y c1 como valor de final.
Devuelve un nuevo ColorSequence de un array de ColorSequenceKeypoints.
Propiedades
Un array de ColorSequenceKeypoint.
Constructores
new
Devuelve una secuencia de dos puntos clave con c para ambos valores de inicio y final.
local colorSequence = ColorSequence.new(c)-- Equivalente alocal colorSequence = ColorSequence.new{ColorSequenceKeypoint.new(0, c),ColorSequenceKeypoint.new(1, c)}
Parámetros
new
Devuelve un nuevo ColorSequence con c0 como valor de inicio y c1 como valor de final.
local colorSequence = ColorSequence.new(c0, c1)-- Equivalente alocal colorSequence = ColorSequence.new{ColorSequenceKeypoint.new(0, c0),ColorSequenceKeypoint.new(1, c1)}
new
Devuelve un nuevo ColorSequence de un array de ColorSequenceKeypoints.Los puntos clave deben estar 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 red = Color3.fromRGB(255, 0, 0)local cyan = Color3.fromRGB(0, 190, 200)local purple = Color3.fromRGB(190, 0, 255)local colorSequence = ColorSequence.new{ColorSequenceKeypoint.new(0, red),ColorSequenceKeypoint.new(0.5, cyan),ColorSequenceKeypoint.new(1, purple)}