color
Цвет RGBA: поля r, g, b, a, целые 0–255.
color(r?: number, g?: number, b?: number, a?: number)#
Создаёт цвет. Незаданные компоненты равны 0.
| Параметр | Тип | Описание |
|---|---|---|
r, g, b |
number |
красный, зелёный, синий, 0–255 |
a |
number |
непрозрачность, 0–255; по умолчанию 0 |
Возвращает: color.
color(255, 0, 0)даёт альфу 0 — цвет полностью прозрачный, и рисование «пропадает». Всегда передавайте альфу:color(255, 0, 0, 255).
local red = color(255, 0, 0, 255)
local half = color(255, 255, 255, 128)
print(red.r, " ", half.a) --> 255 128
c:unpack()#
Возвращает: number, number, number, number — r, g, b, a.
local r, g, b, a = color(10, 20, 30, 255):unpack()
a:lerp(b: color, t: number)#
Плавный переход между цветами. Каждая компонента округляется и обрезается до 0–255.
| Параметр | Тип | Описание |
|---|---|---|
b |
color |
второй цвет |
t |
number |
доля, 0–1 |
Возвращает: color.
-- Цвет по здоровью: зелёный -> красный
local function hp_color(hp)
return color(255, 0, 0, 255):lerp(color(0, 255, 0, 255), math.max(0, math.min(hp / 100, 1)))
end
print(hp_color(25))
c:hex()#
Возвращает: string — цвет в виде "RRGGBBAA" (заглавные буквы).
local c = color(255, 128, 0, 255)
print(c:hex()) --> FF8000FF
-- цветной текст в имени элемента меню
ui.tab("Main"):group("Info"):label("\x07" .. c:hex() .. "Оранжевая строка")
У color нет арифметических операторов; == сравнивает покомпонентно.