🌟
【ロブロックス】UIGradientのColor設定をスクリプトからする方法
はじめに
公式リファレンス
基本的なやり方
たったこれだけ。
ColorSequenceオブジェクトをUIGradientのColorに代入するだけ。
local colorSequence = ColorSequence.new{
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0)),
}
UIGradient.Color = colorSequence
注意点
ColorSequenceKeypoint.newの第一引数の役割はグラデーションのどの部分の色を設定するかというところである。

グラデーションの始まりの0と1のKeypointは確実に作りましょう。
ダメな例【キーポイントが一つ】
local colorSequence = ColorSequence.new{
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
}
あと、このキーポイントは0から大きい数字になるような順で生成しましょう。
ダメな例【キーポイントのTimeValueの順序がバラバラ】
local colorSequence = ColorSequence.new{
--0 -> 1 -> 2という感じで生成しましょう
ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(2, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
}
配列に入れたColorSequenceKeypointを適応する方法
実はこの部分で詰まってました。。
色々調べた結果これで行けることが分かりました。
local keyPoints = {
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0)),
}
local colorSequence = ColorSequence.new(keyPoints)
Referenceでは配列型は{}この括弧で入れていたためColorSequence.new{keyPoints}で行けるのかと思っていました(笑)
こちらで宣言する配列も中身の順序や最低限のKeypointは入れるようにしましょう。
Discussion