Skip to content

ColorSequence ​

概览 ​

字段值
KindData · 数据 Data
Realmcommon

ColorSequence 用于描述一段由关键帧组成的颜色渐变,能够在渐变区间内表达颜色随进度变化的过程。它通过 Keypoints 保存全部关键帧,并提供 New 函数完成构造,是特效、界面等需要颜色过渡的表现需求所共用的数据描述方式。

适用场景 ​

适用于需要从起始色平滑过渡到结束色的表现场景,例如为特效或界面元素准备一段渐变配色;也可以先准备多个 ColorSequenceKeypoint,把它们组织成数组后一次性构造出多段渐变。

使用要点 ​

使用 ColorSequence.New(...) 或等价的 ColorSequence(...) 构造实例:传入单个颜色值时得到均匀颜色的序列,传入 ColorSequenceKeypoint 数组时得到包含多个关键帧的渐变。关键帧本身用 ColorSequenceKeypoint.New(时间, 颜色) 构造,其中的颜色可通过 Color3.New(...) 或 Color3.FromRGB(...) 得到。构造完成后可通过 Keypoints 属性读取该序列包含的关键帧列表。

注意事项 ​

ColorSequence.New(color) 接收一个参数:单个 Color3 表示均匀颜色,ColorSequenceKeypoint 数组表示渐变。起止颜色应分别包装为 Time=0 和 Time=1 的关键帧,再把两者作为一个数组传入。

代码示例 ​

用关键帧数组构造颜色序列 ​

lua
-- @runtime client
local colorSeq = ColorSequence.New({
    ColorSequenceKeypoint.New(0, Color3.New(1, 0, 0)),  -- 起始红色
    ColorSequenceKeypoint.New(1, Color3.New(0, 0, 1)),  -- 结束蓝色
})
print('关键帧数:', #colorSeq.Keypoints)

属性 (1) ​

Name类型默认值说明
KeypointsArray<ColorSequenceKeypoint>-ColorSequence 的关键帧列表属性,返回组成该颜色序列的 ColorSequenceKeypoint 数组;每个关键帧记录了归一化位置(Time)与对应颜色(Value),用于表示颜色随参数变化的分布情况。该属性为只读,读取后可用于遍历或传递给其他需要关键帧数据的接口。

关联类型 ​

函数 (1) ​

New ​

签名:New(color: Any) -> ColorSequence

从单个 Color3 或 ColorSequenceKeypoint 数组构造颜色序列。该公开签名接收一个 color 参数;渐变起止颜色应组织为一个关键帧数组传入。

参数类型说明
colorAny颜色或关键帧数组

返回值 ColorSequence

示例代码

用关键帧数组构造颜色序列

lua
-- @runtime client
local colorSeq = ColorSequence.New({
    ColorSequenceKeypoint.New(0, Color3.New(1, 0, 0)),
    ColorSequenceKeypoint.New(1, Color3.New(0, 0, 1)),
})
print('关键帧数:', #colorSeq.Keypoints)