Processing:Справочник языка Processing/PShape: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= PShape <ref>[https://processing.org/reference/PShape.html processing.org - PShape]</ref>= | = PShape <ref>[https://processing.org/reference/PShape.html processing.org - PShape]</ref>= | ||
Строка 10: | Строка 7: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
PShape | PShape | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 54: | Строка 51: | ||
==Конструктор== | ==Конструктор== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
PShape(g, kind, params) | PShape(g, kind, params) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 62: | Строка 59: | ||
===№1=== | ===№1=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PShape s; | PShape s; | ||
Строка 79: | Строка 76: | ||
===№2=== | ===№2=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PShape square; // объект PShape | PShape square; // объект PShape | ||
Строка 99: | Строка 96: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | |||
{{Навигационная таблица/ |
Текущая версия от 15:21, 13 сентября 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
PShape [1]
Обозначение
PShape
Описание
Тип данных для хранения фигур. Перед использованием фигуры ее нужно загрузить при помощи метода loadShape() или создать с помощью метода createShape(). Чтобы нарисовать фигуру на мониторе, используется метод shape(). Язык Processing в данный момент может загружать и показывать фигуры из файлов типа SVG (Scalable Vector Graphics) и OBJ. Файлы OBJ можно открыть только с помощью 3D-визуализатора P3D. Метод loadShape() совместим с SVG-файлами, созданными при помощи Inkscape и Adobe Illustrator. Это не полная поддержка SVG, но в наличии есть ряд удобных средств для управления векторными данными.
Для объекта PShape есть несколько методов, позволяющих управлять данными фигуры. Некоторые из них перечислены ниже, но полный список методов для создания и модифицирования фигур можно найти тут. Чтобы создать новую фигуру, используйте createShape(), но не синтаксис new PShape().
Поля
Методы
- isVisible() – возвращает булево значение true, если изображение видимо, и false, если нет
- setVisible() – задает то, будет ли фигура видимой или невидимой
- disableStyle() – отключает «стилевые» данные фигуры и использует стили Processing
- enableStyle() – включает «стилевые» данные фигуры и игнорирует стили Processing
- beginContour() – начинает новый контур
- endContour() – завершает контур
- beginShape() – начинает создание нового объекта PShape
- endShape() – завершает создание нового объекта PShape
- getChildCount() – возвращает количество дочерних элементов
- getChild() – возвращает дочерний элемент фигуры в виде объекта PShape
- addChild() – добавляет новый дочерний элемент
- getVertexCount() – возвращает общее число вершин в виде значения int
- getVertex() – возвращает координаты вершины, находящейся на заданной позиции
- setVertex() – задает координаты вершины, находящейся на заданной позиции
- setFill() – задает цвет заполнения фигуры
- setStroke() – задает цвет контура фигуры
- translate() – перемещает фигуру
- rotateX() – вращает фигуру по оси X
- rotateY() – вращает фигуру по оси Y
- rotateZ() – вращает фигуру по оси Z
- rotate() – вращает фигуру
- scale() – увеличивает и уменьшает размер фигуры
- resetMatrix() – заменяет текущую матрицу фигуры на единичную матрицу
Конструктор
PShape(g, kind, params)
Пример
№1
PShape s;
void setup() {
size(100, 100);
// файл "bot.svg" должен находиться в папке данных текущего скетча,
// чтобы все загрузилось как следует:
s = loadShape("bot.svg");
}
void draw() {
shape(s, 10, 10, 80, 80);
}
№2
PShape square; // объект PShape
void setup() {
size(100, 100);
// создание объекта PShape в виде квадрата;
// угол – это «0,0», поэтому центр – это «40,40»:
square = createShape(RECT, 0, 0, 80, 80);
}
void draw() {
shape(square, 10, 10);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |