ColorSequence
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Le type de données ColorSequence représente un gradient de valeurs de couleur de 0 à 1 .Les valeurs de couleur sont exprimées en utilisant le taperColorSequenceKeypoint.Ce type est utilisé dans diverses propriétés de ParticleEmitter , Trail , Beam , et d'autres objets qui utilisent des gradients de couleur.
Égalité
Deux objets ColorSequence équivalents ne sont équivalents que si les valeurs de leurs ColorSequenceKeypoint sont équivalentes, même si les deux aboutissent à des gradients similaires.
Évaluation
Le type ColorSequence n'a pas de méthode intégrée pour obtenir la valeur à un certain moment/point.Cependant, vous pouvez utiliser la fonction suivante pour évaluer à un moment spécifique.
local function evalColorSequence(sequence: ColorSequence, time: number)
-- Si le temps est 0 ou 1, retournez la première ou la dernière valeur respectivement
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- Sinon, passez en revue chaque paire séquentielle de points de clé
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
-- Calculer à quelle distance l'alpha se trouve entre les points
local alpha = (time - thisKeypoint.Time) / (nextKeypoint.Time - thisKeypoint.Time)
-- Évaluer la valeur réelle entre les points en utilisant 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
Résumé
Constructeurs
Renvoie un nouveau ColorSequence qui est entièrement de la couleur spécifiée.
Retourne une nouvelle ColorSequence avec c0 comme valeur de départ et c1 comme valeur de fin.
Renvoie une nouvelle ColorSequence de l'array de ColorSequenceKeypoints.
Propriétés
Un ensemble de valeurs ColorSequenceKeypoint en ordre croissant.
Constructeurs
new
Renvoie une séquence de deux points clés avec c pour les valeurs de début et de fin.
local colorSequence = ColorSequence.new(c)-- Équivalent àlocal colorSequence = ColorSequence.new{ColorSequenceKeypoint.new(0, c),ColorSequenceKeypoint.new(1, c)}
Paramètres
new
Retourne une nouvelle ColorSequence avec c0 comme valeur de départ et c1 comme valeur de fin.
local colorSequence = ColorSequence.new(c0, c1)-- Équivalent àlocal colorSequence = ColorSequence.new{ColorSequenceKeypoint.new(0, c0),ColorSequenceKeypoint.new(1, c1)}
new
Renvoie une nouvelle ColorSequence de l'array de ColorSequenceKeypoints.Les points clés doivent être dans un ordre de valeur temporelle non descendante.Au moins deux points clés doivent être fournis, et ils doivent avoir une valeur de temps de 0 (premier) et de 1 (dernier).
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)}