ColorSequence

Afficher les obsolètes

*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

Propriétés

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)
}

Paramètres

c0: Color3
c1: Color3

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)
}

Paramètres

keypoints: Array

Propriétés

Keypoints

Un tableau contenant ColorSequenceKeypoint des valeurs pour le ColorSequence.