ColorSequence

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O tipo de dado ColorSequence representa um gradiente de valores de cores de 0 a 1 .Os valores de cores são expressos usando o digitarColorSequenceKeypoint.Este tipo é usado em várias propriedades de ParticleEmitter , Trail , Beam e outros objetos que usam gradientes de cores.

Equidade

Dois objetos ColorSequence são equivalentes somente se os valores de seus ColorSequenceKeypoint forem equivalentes, mesmo que ambos resultem em gradientes semelhantes.

Avaliação

O tipo ColorSequence não tem um método integrado para obter o valor em um determinado momento/ponto.No entanto, você pode usar a função a seguir para avaliar em um momento específico.


local function evalColorSequence(sequence: ColorSequence, time: number)
-- Se o tempo for 0 ou 1, retorne o primeiro ou último valor, respectivamente
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- Caso contrário, percorra cada par sequencial de pontos de chave
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
-- Calcule o quão longe a alfa está entre os pontos
local alpha = (time - thisKeypoint.Time) / (nextKeypoint.Time - thisKeypoint.Time)
-- Avalie o valor real entre os pontos 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

Resumo

Construtores

Propriedades

Construtores

new

Retorna uma sequência de dois pontos chave com c para ambos os valores de início e fim.


local colorSequence = ColorSequence.new(c)
-- Equivalente a
local colorSequence = ColorSequence.new{
ColorSequenceKeypoint.new(0, c),
ColorSequenceKeypoint.new(1, c)
}

Parâmetros

new

Retorna um novo ColorSequence com c0 como o valor inicial e c1 como o valor final.


local colorSequence = ColorSequence.new(c0, c1)
-- Equivalente a
local colorSequence = ColorSequence.new{
ColorSequenceKeypoint.new(0, c0),
ColorSequenceKeypoint.new(1, c1)
}

Parâmetros

c0: Color3
c1: Color3

new

Retorna um novo ColorSequence de um array de ColorSequenceKeypoints.Os pontos-chave devem estar em uma ordem de valor de tempo não descendente.Pelo menos dois pontos-chave devem ser fornecidos e eles devem ter um valor de tempo de 0 (primeiro) e 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)
}

Parâmetros

keypoints: Array

Propriedades

Keypoints

Um array que contém ColorSequenceKeypoint valores para o ColorSequence .