主题
ColorSequence
概览
| 字段 | 值 |
|---|---|
| Kind | Data · 数据 Data |
| Realm | common |
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 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Keypoints | Array<ColorSequenceKeypoint> | - | ColorSequence 的关键帧列表属性,返回组成该颜色序列的 ColorSequenceKeypoint 数组;每个关键帧记录了归一化位置(Time)与对应颜色(Value),用于表示颜色随参数变化的分布情况。该属性为只读,读取后可用于遍历或传递给其他需要关键帧数据的接口。 |
关联类型
函数 (1)
New
签名:New(color: Any) -> ColorSequence
从单个 Color3 或 ColorSequenceKeypoint 数组构造颜色序列。该公开签名接收一个 color 参数;渐变起止颜色应组织为一个关键帧数组传入。
| 参数 | 类型 | 说明 |
|---|---|---|
color | Any | 颜色或关键帧数组 |
返回值 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)