ColorSequence
非推奨を表示
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
データ型 ColorSequence は、0 から 1 までの色値のグラデーションを表します。色値は、2>Datatype.ColorSequencerKeypoint2> タイプを使用して表
平等
Two ColorSequence オブジェクトは、その値が同じであることが必須です。たとえ両方とも似たグラデーションに結果を返す場合でも。
評価
Datatype.ColorSequencer タイプには、特定の時間/ポイントで値を取得するための内蔵メソッドはありません。しかし、次の関数を使用して特定の時間で評価できます。
local function evalColorSequence(sequence: ColorSequence, time: number)
-- 時間が 0 または 1 の場合、最初のまたは最後の値を返します
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- そうでない場合は、各ケープポイントの連続的なペアをステップします
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
-- ポイント間のアルファの距離を計算する
local alpha = (time - thisKeypoint.Time) / (nextKeypoint.Time - thisKeypoint.Time)
-- アルファを使用してポイント間の実際の価値を評価する
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