Текст¶
Содержание
-
объект
Текст;
TextReactor
¶ Производный от: Прямоугольник (RectReactor)
Текст является объектом, производным от Прямоугольник (RectReactor), и предоставляет возможность отображения текстовой информации на экране.
Свойства текста¶
Вводится в Текст (TextReactor)
Параметр | Описание |
---|---|
Текст (text.value) | Значение текста. |
Шрифт (text.font_id) | Используемый шрифт. |
Размер шрифта (text.font_size) | Размер используемого шрифта. |
Цвет текста (text.color) | Цвет текста. |
Интерлиньяж (text.line_spacing) | Расстояние между строками текста. |
Выравнивание (text.align) | Выравнивание текста. |
Автоперенос (text.auto_wrap) | Автоматический перенос текста. |
-
параметр
Текст;
text.value
¶ Значение текста (например «New text»).
-
параметр
Шрифт;
text.font_id
¶ Используемый шрифт (например «OpenSans-Regular.ttf»).
-
параметр
Размер шрифта;
text.font_size
¶ Размер используемого шрифта. Используются те же единицы измерения, что и у Прямоугольник (RectReactor).
-
параметр
Цвет текста;
text.color
¶ Цвет текста.
-
параметр
Интерлиньяж;
text.line_spacing
¶ Расстояние между строками текста.
-
параметр
Выравнивание;
text.align
¶ Выравнивание текста как по горизонтали, так и по вертикали.
-
параметр
Автоперенос;
text.auto_wrap
¶ Автоперенос слов на новую строку в зависимости от ширины родительского объекта.
Действия¶

Действие | Описание |
---|---|
Текст - изменить текст (setText_value) | Установить значение текста. |
Текст - изменить шрифт (setText_font_id) | Установить шрифт для текста. |
Текст - изменить размер (setText_font_size) | Установить размер шрифта для текста. |
Текст - изменить цвет (setText_color) | Установить цвет текста. |
Текст - изменить выравнивание (setText_align) | Установить выравнивание текста. |
Текст - установить автоперенос (setText_auto_wrap) | Установить автоматический перенос текста. |
Текст - изменить интерлиньяж (setText_line_spacing) | Установить расстояние между строками. |
-
действие
Текст - изменить текст;
setText_value
(text, concatenate)¶ Установить значение текста. Если задан параметр Конкатенировать с текущим значением, то произойдет конкатенация строк.
Параметры: - Значение / text – новое значение, которое будет установлено для текста, или конкатенировано с текущим значением.
- Конкатенировать с текущим значением / concatenate – Если установлен данный флаг, то произойдет конкатенация(соединение) текущего значения с указанным значением.
-
действие
Текст - изменить шрифт;
setText_font_id
(font_id)¶ Установить шрифт для текста.
Параметры: Значение / font_id – выбранный шрифт Примечание
EV Toolbox идет с набором предустановленных шрифтов, которые вы можете выбрать. Также можно добавить свой шрифт во вкладке Ресурсы
-
действие
Текст - изменить размер;
setText_font_size
(font_size)¶ Установить размер шрифта для текста.
Параметры: Значение / font_size – размер. Используются те же единицы измерения, что и у Прямоугольник (RectReactor).
-
действие
Текст - изменить цвет;
setText_color
(color)¶ Установить размер шрифта для текста.
Параметры: Значение / color – цвет. Также у цвета можно установить прозрачность. Примечание
В версии Advanced, если вы захотите установить цвет текста в скриптах, то используйте для задания цвета конструктор
osg.Vec4
, который будет содержать RGBA-значения(напримерosg.Vec4(1.0,1.0,1.0,0.5)
для белого полупрозрачного цвета).
-
действие
Текст - изменить выравнивание;
setText_align
(align)¶ Установить выравнивание текста.
Параметры: Значение / align – выравнивание. Указываются как горизонтальное выравнивание, так и вертикальное. Примечание
В версии Advanced, если вы захотите установить выравнивание текста в скриптах, то используйте строковые значения «left», «center», «right» для горизонтального и «top», «center», «bottom» для вертикального, указанные через дефис. Например, для выравнивания слева по горизонтали и справа по верху укажите «left-top».
-
действие
Текст - установить автоперенос;
setText_auto_wrap
(auto_wrap)¶ Установить автоперенос слов текста на следующую строку в зависимости от размеров родительского объекта.
Параметры: Значение / auto_wrap – установить автоперенос или нет.
-
действие
Текст - изменить интерлиньяж;
setText_line_spacing
(line_spacing)¶ Установить расстояние между строками текста(интерлиньяж).
Параметры: Значение / line_spacing – расстояние.
Advanced¶
Пример кода:
local text = reactorController:getReactorByName("Text")
local timer = reactorController:getReactorByName("Timer")
timer:subscribeEvent("onAlarm", function()
text:setText_value("Alarm!") -- меняем значение текста при срабатывании таймера
text:setText_color(osg.Vec4(1.0, 0.0, 0.0, 1.0)) -- непрозрачный красный цвет
end)
timer:start(3, "once")
Текст, как наследуемый от Прямоугольник (RectReactor), поддерживает события и действия, связанные с ним
Размер и масштабирование прямоугольника¶
Вводится в Прямоугольник (RectReactor)

Параметр | Описание |
---|---|
Размер (rect.size) | Размер прямоугольника. |
Масштабирование (rect.scalePolicy) | Режим масштабирования прямоугольника. |
Действие | Описание |
---|---|
Прямоугольник - изменить размер (setRect_size) | Установить новый размер. |
Прямоугольник - изменить масштабирование (setRect_scalePolicy) | Установить новый режим масштабирования. |
-
параметр
Размер;
rect.size
¶ Составной параметр, определяющий высоту и ширину прямоугольника на экране, учитывая размеры самого экрана, а также размеры родительского прямоугольника, если таковой имеется. Значения ширины и высоты - вещественные числа, а выпадающий список и три кнопки справа от данных значений определяют, в чём, как и относительно чего будут рассчитываться размеры объекта.

Единицы измерения¶
При указании значения высоты и ширины прямоугольника необходимо указать единицы измерения. Единицы измерения определяют правила расчета итогового размера прямоугольника на экране во время работы приложения.

Единица измерения | Описание |
---|---|
px - пиксели | Значение будет измеряться в пикселях 1:1. |
%c - процент от контента | Значение будет измеряться в процентах от размера содержимого (контента, от англ content - содержимое). Например, рассмотрим случай, когда внутри прямоугольника находится изображение размером 200х100 пикселей. Тогда, указав значение высоты прямоугольника 50 %c получим, что высота прямоугольника будет равна 50 пикселям. |
% - процент от родителя | Значение будет измеряться в процентах от соответствующей величины родителя. Например, родительский прямоугольник имеет размеры 200х100 пикселей. Тогда указав значение высоты дочернего прямоугольника 120 %, получим 120 пикселей. Для ширины - аналогично. |
%w (%h) - процент от родителя (противоположно) | Значение будет измеряться в процентах от противоположной величины родителя. Например, родительский прямоугольник имеет размеры 200х100 пикселей. Тогда указав значение высоты дочернего прямоугольника 120 %w, получим 240 пикселей. Указав значение ширины 120 %h, получим 120 пикселей. |
%v - процент от окна | Значение будет измеряться в процентах от окна, в котором запущено приложение. Например, приложение запущено в окне 800х600 пикселей. Задав высоту прямоугольника значением 50 %v, получим 300 пикселей. Для ширины - аналогично. |
%vw (%vh) - процент от окна (противоположно) | Аналогично %w и %h, но относительно размера окна, в котором запущено приложение. |
- (режим совместимости) | Значение используется для режима совместимости. При этом значение 1.0 соответствует высоте окна. Например, приложение запущено в окне 100х200 пикселей. Тогда значение 1.2 соответствует 240 пикселям и для ширины и для высоты прямоугольника. Данный режим необходим для возможности открытия старых проектов, созданных в ранних версиях EV Toolbox. |
Примечание
Ширина и высота объекта Проекция на экран (HudReactor) рассчитываются в px и равны размеру окна, в котором запущено приложение.
Примечание
При создании нескольких экземпляров одного прямоугольника допустимо использование только следующих единиц измерения: px, %c, %v, %vw, %vh, -. При использовании остальных единиц, поведение не определено.
Автоматическая установка размера¶
У прямоугольника имеется возможность автоматической установки ширины и высоты.
Режим | Описание |
---|---|
![]() |
При изменении свободной величины, для заблокированной величины будет произведен автоматический расчет таким образом, что прямоугольник сохранит соотношение сторон. При блокировке и ширины и высоты - размер прямоугольника нулевой. |
![]() |
Автоматическое выставление значения 100 % для выбранной величины. |
![]() |
Автоматическое выставление значения 100 %c для выбранной величины. |
Автоматическое заполнение¶
При динамическом изменении ориентации родительского прямоугольника или окна, в котором запущено приложение в зависимости от выбранного режима высота и ширина могут быть автоматически рассчитаны таким образом, что независимо от ориентации (портретной или ландшафтной) будет либо постоянно виден весь контент прямоугольника, либо прямоугольник заполнит максимально доступную область (часть контента будет обрезана). В обоих случаях пропорции контента сохраняются.
Режим | Описание |
---|---|
![]() |
В этом режиме прямоугольник будет занимать наибольшее пространство с учетом выбранных единиц измерения. |
![]() |
В этом режиме прямоугольник будет занимать наименьшее пространство с учетом выбранных единиц измерения. |
-
параметр
Масштабирование;
rect.scalePolicy
¶ Данный параметр определяет изменение размера прямоугольника, когда он находится вне объекта Проекция на экран (HudReactor).

-
действие
Прямоугольник - изменить размер;
setRect_size
(size)¶ Задание высоты, ширины, единиц измерения и режимов изменения размера.
-
действие
Прямоугольник - изменить масштабирование;
setRect_scalePolicy
(policy)¶ Задание параметра Масштабирование (rect.scalePolicy)
Положение прямоугольника¶
Вводится в Прямоугольник (RectReactor)

Прямоугольник может быть привязан к сторонам и углам родительского объекта, а также сдвинут по осям X и Y относительно точки привязки. По умолчанию он привязан к центру родительского объекта.
Параметр | Описание |
---|---|
Положение (rect.position) | Положение прямоугольника (точка привязки). |
Сдвиг (rect.shift) | Сдвиг прямоугольника относительно родителя. |
Слой (layer) | Слой прямоугольника. |
Действие | Описание |
---|---|
Прямоугольник - изменить положение (setRect_position) | Установить новое положение. |
Прямоугольник - изменить сдвиг (setRect_shift) | Установить новый сдвиг. |
Прямоугольник - изменить слой (setLayer) | Установить новый слой. |
-
параметр
Положение;
rect.position
¶ Параметр определяет начальное положение прямоугольника в системе координат родителя.
-
параметр
Сдвиг;
rect.shift
¶ Параметр определяет сдвиг прямоугольника относительно начального положения. Единицы измерения идентичны используемым для ширины и высоты.
-
параметр
Слой;
layer
¶ Параметр определяет «слой» прямоугольника. Слой интерпретируется как координата по оси Z относительно родителя, то есть нулевая координата (слой 0.0) соответствует по оси Z слою родителя. Благодаря слоям можно выдвигать объекты на передний план, когда они находятся в объекте Проекция на экран (HudReactor), поднимать и опускать их, когда они находятся в объекте Сцена (SceneReactor), а также избежать Z-конфликта (англ. Z fighting). Уровень слоя измеряется в метрах, то есть значение слоя 0.01 говорит о том, что объект в этом слое смещён на 1 см по оси Z.
-
действие
Прямоугольник - изменить положение;
setRect_position
(position)¶ Задание положения прямоугольника в системе координат родителя.
-
действие
Прямоугольник - изменить сдвиг;
setRect_shift
(shift)¶ Задание новых значений сдвига по каждой из осей координат.
-
действие
Прямоугольник - изменить слой;
setLayer
(layer)¶ Установление нового слоя для прямоугольника.
Внешний вид прямоугольника¶
Вводится в Прямоугольник (RectReactor)

Кроме размера и положения у прямоугольника можно настроить внешний вид: размер полей с каждой из 4-х сторон, а также цвет прямоугольника с прозрачностью.
Параметр | Описание |
---|---|
Поля (rect.padding) | Поля прямоугольника. |
Цвет (rect.color) | Цвет прямоугольника. |
Действие | Описание |
---|---|
Прямоугольник - изменить поля (setRect_padding) | Установить новые поля. |
Прямоугольник - изменить цвет (setRect_color) | Установить новый цвет. |
-
параметр
Поля;
rect.padding
¶ Параметр определяет размер полей прямоугольника с каждой из 4-х сторон. Единицы измерения идентичны используемым для ширины и высоты. Если заблокировать одно из значений, то изменяя поле с противоположной стороны, такое же значение будет и у поля с заблокированной стороны. Например, заблокировав поле снизу и выставив верхнему полю размер в 10 пикселей, нижнее тоже автоматом будет 10 пикселей. Аналогично для левого и правого полей. Если заблокировать поля со всех сторон, то у всех будет нулевой размер.
-
параметр
Цвет;
rect.color
¶ Параметр определяет цвет прямоугольника. Поддерживается прозрачность.
-
действие
Прямоугольник - изменить поля;
setRect_padding
(padding)¶ Задание новых полей прямоугольника.
-
действие
Прямоугольник - изменить цвет;
setRect_color
(color)¶ Задание нового цвета прямоугольника. Поддерживается прозрачность.
Примечание
Для наследуемых объектов, например, Изображение (ImageReactor), действия Прямоугольник - изменить поля (setRect_padding) и Прямоугольник - изменить цвет (setRect_color) будут изменять «подложку» данного объекта и никак не повлияют на размер и цвет самого изображения или иного ресурса.
Вводится в Группа (GroupNodeReactor)
Каждый объект, производный от Группа (GroupNodeReactor) может иметь одного или нескольких потомков, производных от Узел (NodeReactor). Например, любая Модель (ModelReactor) может быть добавлена на метку - в Метка (MarkerReactor), или любой объект может быть добавлен в Сцена (SceneReactor).
Примечание
Вся система объектов, производных от Узел (NodeReactor) повторяет структуру библиотеки OpenSceneGraph . Соответственно, многие особенности библиотеки распространяются и на систему объектов EV Toolbox.
Иерархия объектов может быть изменена в списке объектов при помощи drag’n’drop или при помощи контекстного меню.
Параметр | Описание |
---|---|
Список потомков (children) | Список потомков данного объекта |
Действие | Описание |
---|---|
Группа - добавить узел (addChild) | Добавить потомка в конец списка потомков |
Группа - удалить узел (removeChild) | Убирает указанный объект из списка потомков. |
Группа - удалить все дочерние узлы (clearChildren) | Полностью очищает список потомков объекта. |
Группа - задать явно потомков (setChildren) | Явно задает список потомков. |
-
параметр
Список потомков;
children
¶ Список всех дочерних объектов. Имеет тип
table
, в котором находятся ссылки на все дочерние объекты.Примечание
В интерфейсе версии Standard данный параметр устанавливается неявно, путём переноса объектов в списке объектов
-
действие
Группа - добавить узел;
addChild
(child)¶ Добавить потомка в конец списка потомков
Параметры: Узел / child – Объект, производный от Узел (NodeReactor), который будет добавлен в качестве потомка Предупреждение
Метод не рекомендуется вызывать во время обхода графа, так как это может повлечь за собой аварийную остановку программы. Данное действие недоступно в версии Standard.
-
действие
Группа - удалить узел;
removeChild
(child)¶ Убирает указанный объект из списка потомков.
Если данного объекта не было в спике потомков, то ничего не происходит. Если в списке потомков данный объект встречался дважды, будет удалено только первое вхождение.
Параметры: Узел / child – Объект, который необходимо убрать из списка потомков Предупреждение
Метод не рекомендуется вызывать во время обхода графа, так как это может повлечь за собой аварийную остановку программы. Данное действие недоступно в версии Standard.
-
действие
Группа - удалить все дочерние узлы;
clearChildren
()¶ Полностью очищает список потомков объекта.
Предупреждение
Метод не рекомендуется вызывать во время обхода графа, так как это может повлечь за собой аварийную остановку программы. Данное действие недоступно в версии Standard.
-
действие
Группа - задать явно потомков;
setChildren
()¶ Задает явно потомков для группы. Старые потомки будут удалены из группы.
Параметры: Потомки / children – Таблица, содержащая ссылки на реакторы потомков