Color
Color хранит красный, зелёный, синий и альфа-компонент цвета. Он используется в UI, ImGui, WorldVisuals и других API, принимающих цвет.
Зачем нужен и как обрабатывается
Заголовок раздела «Зачем нужен и как обрабатывается»Color — значение с данными, а не команда отрисовки. Конструктор и изменение r/g/b/a обрабатываются внутри Lua-обёртки и сами ничего не показывают. Цвет начинает влиять на игру только когда его передают потребителю — например, стилю UI, ImGui или LineRenderer:SetColor().
Изменение локального Color после вызова не обновляет уже настроенный объект автоматически. Передайте новое значение потребителю ещё раз.
Быстрый пример
Заголовок раздела «Быстрый пример»local cyan = Color.new(0.2, 0.8, 1)local translucentRed = Color.new(1, 0, 0, 0.5)
print(cyan.a) -- 1Если передать только RGB, конструктор автоматически задаёт a = 1.
Создание цвета
Заголовок раздела «Создание цвета»Color.new(r: number, g: number, b: number): ColorColor.new(r: number, g: number, b: number, a: number): Color| Аргумент | Тип | Описание |
|---|---|---|
r |
number |
Красный компонент. |
g |
number |
Зелёный компонент. |
b |
number |
Синий компонент. |
a |
number |
Альфа-компонент. Если не указан, равен 1. |
Компоненты
Заголовок раздела «Компоненты»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
r |
number |
get/set |
Красный компонент. |
g |
number |
get/set |
Зелёный компонент. |
b |
number |
get/set |
Синий компонент. |
a |
number |
get/set |
Альфа-компонент. |
Компоненты можно менять после создания:
local color = Color.new(1, 1, 1)color.g = 0.5color.a = 0.75Частые ошибки
Заголовок раздела «Частые ошибки»Цвет задан числами от 0 до 255
Заголовок раздела «Цвет задан числами от 0 до 255»Обычная запись использует значения от 0 до 1. Для цвета RGB 128, 200, 255 разделите компоненты на 255:
local color = Color.new(128 / 255, 200 / 255, 1)Неожиданная непрозрачность
Заголовок раздела «Неожиданная непрозрачность»Трёхкомпонентный конструктор задаёт a = 1. Передайте четвёртый аргумент, если нужен другой альфа-компонент.