Прямоугольник входит в состав группы стандартных геометрических фигур, с помощью которых вы можете рисовать презентации ваших моделей.
У прямоугольника есть и третья размерность. Если в двумерной презентации фигура отображается в виде прямоугольника, то в окне трехмерной анимации — в виде параллелепипеда (см. рисунок ниже). Основание параллелепипеда вы рисуете в графическом редакторе, а высоту задаете в дополнительном свойстве фигуры Z-Высота.
Чтобы нарисовать прямоугольник
- Перетащите элемент Прямоугольник из палитры Презентация в то место графического редактора, где вы хотите нарисовать прямоугольник.
- Если же вы хотите сразу создавать прямоугольник нужного вам размера, то используйте режим рисования. Чтобы перейти в этот режим, сделайте двойной щелчок мышью по элементу Прямоугольник в палитре (при этом его значок должен поменяться на этот: ). Затем щелкните мышью в том месте диаграммы, где вы хотите нарисовать прямоугольник, и передвиньте ее, не отпуская кнопки, пока контур создаваемого прямоугольника не примет желаемый размер, после чего отпустите кнопку мыши.
- Если вы хотите увидеть также и трехмерную фигуру в 3D окне, перейдите в секцию Специфические панели Свойства и убедитесь, что выбрана опция Отображать в: 2D и 3D.
- В секции свойств Местоположение и размер вы можете изменить высоту параллелепипеда в поле Z-Высота, а также Z-координату его основания в поле Z.
- Основные
-
Имя — Имя фигуры. Имя используется для идентификации и обращения к фигуре из кода.
Исключить — Если опция выбрана, то фигура будет исключена из модели.
Отображается на верхнем агенте — Если опция выбрана, то фигура будет видна на презентации типа агента, в который будет вложен данный агент.
Значок — Если опция выбрана, то фигура будет считаться частью значка типа агента.
Блокировать — Если опция выбрана, то фигура будет считаться заблокированной и не будет реагировать на щелчки мыши. Таким образом, вы не сможете выбрать заблокированную фигуру в графическом редакторе до тех пор, пока вы не снимете с нее блокировку.
Обычно это требуется, когда у вас есть какой-то фоновый рисунок, используемый как подложка для анимации, и вы хотите исключить возможность случайного редактирования этого фонового рисунка при рисовании фигур поверх него.Видимость — Здесь указывается, будет ли фигура отображаться на анимации во время исполнения модели. Выберите да или нет, используя элемент управления. Если вам нужно, чтобы видимость динамически изменялась или зависела от каких-либо условий, вы можете указать здесь выражение, задающее видимость фигуры. Это выражение будет динамически вычисляться во время исполнения модели. Оно должно возвращать логическое (булевское) значение. Фигура отображается в том случае, когда указанное выражение возвращает истинное значение, в противном случае фигура не видна.
- Внешний вид
-
Цвет заливки — Цвет заливки фигуры. Щелкните мышью внутри элемента управления и выберите нужный цвет из списка наиболее часто используемых цветов или же выберите любой другой цвет с помощью диалога Цвета. Если вы не хотите, чтобы фигура была закрашена, выберите Нет заливки. В противном случае укажите здесь выражение, задающее цвет заливки фигуры. Оно должно возвращать экземпляр Java-класса Color. Если выражение возвращает null, заливка не производится.
Цвет линии — Статическое значение или динамическое выражение, задающее цвет линии контура фигуры. Щелкните мышью внутри элемента управления и выберите нужный цвет из списка наиболее часто используемых цветов или же выберите любой другой цвет с помощью диалога Цвета. Если вы не хотите, чтобы линия контура была видна, выберите Нет линии.
Толщина линии — Статическое значение или динамическое выражение, задающее толщину линии контура фигуры. Выберите нужную вам толщину из выпадающего списка или же введите ее значение в пикселях в поле справа.
Стиль линии — [Доступно, только если сброшен флажок Отображать в 3D] Статическое значение или динамическое выражение, задающее стиль линии контура фигуры. Выберите из выпадающего списка, хотите ли вы,чтобы линия была сплошная, точечная или пунктирная. Выражение должно возвращать целочисленное значение, одну из трёх констант:
- LINE_STYLE_SOLID — сплошная линия.
- LINE_STYLE_DOTTED — точечная линия.
- LINE_STYLE_DASHED — пунктирная линия.
- Местоположение и размер
-
Уровень — Уровень, на котором находится этот элемент.
X — x-координата верхнего левого угла прямоугольника.
Y — y-координата верхнего левого угла прямоугольника.
Z — z-координата основания параллелепипеда.
Ширина — Ширина прямоугольника (в пикселях).
Высота — Высота прямоугольника (в пикселях).
Z-Высота — z-высота параллелепипеда (высота по оси Z), в пикселях.
Поворот — Статическое значение или динамическое выражение, задающее угол поворота прямоугольника в плоскости XY (в градусах или радианах).
Масштаб по оси X — Здесь указывается выражение, возвращающее коэффициент масштабирования фигуры по оси X.*
Масштаб по оси Y — Здесь указывается выражение, возвращающее коэффициент масштабирования фигуры по оси Y.*
Масштаб по оси Z — Здесь указывается выражение, возвращающее коэффициент масштабирования фигуры по оси Z*.
* Указав выражения для Масштаба по оси X, Масштаба по оси Y и в некоторых случаях Масштаба по оси Z, вы сможете определять масштаб фигуры во время выполнения модели. - Специфические
-
Отображать в — Если выбрано В 2D и в 3D или Только в 3D, то будет создан трехмерный аналог двумерной фигуры. Тогда в режиме запуска модели двумерная фигура будет отображаться там же, где она и была нарисована в графическом редакторе, а трехмерная будет видна в специальном элементе, предназначенном для просмотра трехмерной анимации — 3D окне.
Количество — Здесь указывается, какое количество экземпляров данной фигуры будет создано (целочисленное значение). Если вы оставите это поле пустым, будет создана только одна такая фигура.
Действие по щелчку — Код, который будет выполняться при каждом щелчке пользователя мышью по фигуре во время выполнения модели. Если в точке щелчка несколько фигур наслаиваются друг на друга, действие должно быть задано для той фигуры, которая находится на самом верху.
Локальные переменные:
self — сам элемент
clickx — x-координата щелчка относительно координат фигуры
clicky — y-координата щелчка относительно координат фигурыОтображать имя — Если опция выбрана, то имя фигуры будет отображаться в графическом редакторе.
Вы можете динамически изменять свойства фигуры во время работы модели с помощью функций класса прямоугольника ShapeRectangle.
- Местоположение
-
Функция Описание double getX()
double getY()
double getZ()Возвращает X(Y, Z) координату фигуры (а именно, координату верхнего левого угла прямоугольника). void setX(double x)
void setY(double y)
void setZ(double z)Задает новую X (Y, Z) координату фигуры.
x — новое значение координаты X
y — новое значение координаты Y
z — новое значение координаты Zvoid setPos(double x, double y) Устанавливает новые координаты фигуры. Z координата остается неизменной.
x — новое значение координаты X
y — новое значение координаты Yvoid setPos(double x, double y, double z) Устанавливает новые координаты фигуры.
x — новое значение координаты X
y — новое значение координаты Y
z — новое значение координаты ZPoint getCenter() Возвращает координаты центра прямоугольника. - Размер, масштаб
-
Функция Описание void setSize(double width, double height) Задает новую ширину и высоту прямоугольника.
width — новая ширина прямоугольника
height — новая высота прямоугольникаdouble getWidth() Возвращает ширину фигуры. double getHeight() Возвращает высоту фигуры. double getZHeight() Возвращает высоту фигуры вдоль оси Z. void setWidth(double width) Устанавливает новую ширину фигуры.
width — новая ширина прямоугольника
void setHeight(double height) Устанавливает новую высоту фигуры.
height — новая высота прямоугольникаvoid setZHeight(double zHeight) Устанавливает новую высоту фигуры вдоль оси Z.
height — новая высота вдоль оси Zdouble getScaleX()
double getScaleY()
double getScaleZ()Возвращает масштаб фигуры по оси координат X (Y, Z). void setScaleX(double sx)
void setScaleY(double sy)
void setScaleZ(double sz)Задает масштаб фигуры по оси координат X (Y, Z).
sx — новое значение масштаба по оси X *
sy — новое значение масштаба по оси Y *
sz — новое значение масштаба по оси Z ** если параметр равен 1, то фигура сохраняет изначальный размерvoid setScale(double sx, double sy) Устанавливает масштаб фигуры по осям координат X и Y.
sx — новое значение масштаба по оси X *
sy — новое значение масштаба по оси Y ** если параметр равен 1, то фигура сохраняет изначальный размерvoid setScale(double s) Устанавливает одинаковый масштаб по всем трем осям координат.
s — новое значение масштаба по всем осям координат ** если параметр равен 1, то фигура сохраняет изначальный размер - Поворот
-
Функция Описание double getRotation() Возвращает угол поворота фигуры в радианах, по часовой стрелке. void setRotation(double r) Задает новый угол поворота фигуры.
r — новое значение угла поворота фигуры в радианах - Видимость
-
Функция Описание boolean isVisible() Проверяет видимость фигуры. Если фигура видна, то возвращает true; если нет — то false. void setVisible(boolean v) Устанавливает видимость фигуры.
v — видимость: если true, то фигура видна; если false, то не видна. - Заливка цветом
-
Функция Описание Color getFillColor() Возвращает цвет фигуры. Возвращает null, если фигура не залита цветом или залита текстурой (в последнем случае следует использовать функцию getFillTexture()). Texture getFillTexture() Возвращает текстуру фигуры (если в качестве заливки фигуры используется именно текстура). void setFillColor(Color fillColor) Устанавливает цвет заливки фигуры.
fillColor — новый цвет заливки, если значение равно null, то у фигуры не будет заливки.void setFillColor(Object fillColor) Устанавливает заливку фигуры цветом или текстурой.
fillColor — новая заливка (цвет или текстура), если значение равно null, то у фигуры не будет заливки. - Контур
-
Функция Описание Color getLineColor() Возвращает цвет контура фигуры. Возвращает null, если у фигуры нет контура или контур текстурный (в последнем случае следует использовать функцию getLineTexture()). Texture getLineTexture() Возвращает текстуру контура, если контур фигуры текстурный. void setLineColor(Color lineColor) Устанавливает цвет контура фигуры.
lineColor — новый цвет контура, если значение равно null, то у фигуры нет контура.void setLineColor(Object lineColor) Устанавливает цвет (или текстуру) для контура фигуры.
lineColor — новый цвет (или текстура) контура, если значение равно null, то у фигуры нет контура.double getLineWidth() Возвращает ширину контура фигуры. void setLineWidth(double width) Устанавливает ширину контура фигуры, где 0 означает самую тонкую линию.
width — новая ширина контура фигуры.int getLineStyle() Возвращает стиль контура фигуры.
Допустимые значения:
LINE_STYLE_SOLID — сплошная линия
LINE_STYLE_DOTTED — точечная линия
LINE_STYLE_DASHED — пунктирная линияvoid setLineStyle(int style) Устанавливает стиль контура фигуры. Если фигура отображается в 3D, то линия контура может быть только сплошной.
style — новый стиль контура фигуры
Допустимые значения:
LINE_STYLE_SOLID — сплошная линия
LINE_STYLE_DOTTED — точечная линия
LINE_STYLE_DASHED — пунктирная линия - Режим отображения (2D / 3D)
-
Функция Описание ShapeDrawMode getDrawMode() Возвращает режим отображения фигуры (где ее рисовать: в 2D, 3D или 2D+3D анимации).
Допустимые значения:
SHAPE_DRAW_2D3D — отображать и в 2D и в 3D анимации
SHAPE_DRAW_2D — отображать только в 2D анимации
SHAPE_DRAW_3D — отображать только в 3D анимацииvoid setDrawMode(ShapeDrawMode drawMode) Задает режим отображения фигуры (где ее рисовать: в 2D, 3D или 2D+3D анимации). Функция может быть вызвана только один раз и только для фигуры, созданной программно с помощью конструктора без аргументов. Вызов функции, который будет менять уже заданный режим, приведет к ошибке.drawMode — новый режим отображения фигуры
Допустимые значения:
SHAPE_DRAW_2D3D — отображать и в 2D и в 3D анимации
SHAPE_DRAW_2D — отображать только в 2D анимации
SHAPE_DRAW_3D — отображать только в 3D анимации - Группа
-
Функция Описание ShapeGroup getGroup() Возвращает группу, содержащую эту фигуру. - Уровень
-
Функция Описание Level getLevel() Возвращает уровень, на котором находится эта фигура. - Точки внутри фигуры
-
Функция Описание boolean contains(double px, double py) Возвращает true, если фигура содержит точку с заданными координатами.
px — координата x относительно содержимого фигуры
py — координата y относительно содержимого фигурыPoint randomPointInside() Возвращает произвольно выбранную точку внутри фигуры.
Эта функция использует генератор случайных чисел объекта, содержащего эту фигуру. (Сгенерирует исключение, если фигура была создана из кода и не включена ни в какую из групп, в таком случае используйте функцию randomPointInside(Random rng)).Point randomPointInside(java.util.Random rng) Возвращает произвольно выбранную точку из площади фигуры. Эта функция использует заданный генератор случайных чисел.
rng — генератор случайных чисел.
-
Как мы можем улучшить эту статью?
-