Processing:Справочник языка Processing/PShape/endContour()

Материал из Онлайн справочника
Версия от 19:04, 19 сентября 2023; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


endContour() [1]

PShape

Обозначение

endContour()

Описание

Методы beginContour() и endContour() позволяют задавать фигуры, внутри которых вырезаны другие фигуры. К примеру, внутри буквы «O». Два этих метода всегда используются вместе. Между ними задается геометрия, которую вы хотите создать. Пример ниже показывает, как при внутри большой фигуры вырезать вторую фигуру – поменьше.

Контуры внешней и внутренней фигур нужно задавать в противоположных направлениях. Это значит, что в коде последовательность точек внешней фигуры должна идти по часовой стрелке, а последовательность точек внутренней фигуры – против часовой стрелки.

Синтаксис

sh.endContour()

Параметры

sh  любая переменная типа PShape. Тип данных  Pshape

Возвращаемое значение

void

Пример

PShape s;

void setup() {
  size(100, 100);

  // делаем фигуру:
  s = createShape();
  s.beginShape();
  s.noStroke();

  // внешняя часть фигуры:
  s.vertex(-50,-50);
  s.vertex(50,-50);
  s.vertex(50,50);
  s.vertex(-50,50);

  // внутренняя часть фигуры:
  s.beginContour();
  s.vertex(-20,-20);
  s.vertex(-20,20);
  s.vertex(20,20);
  s.vertex(20,-20);
  s.endContour();

  // заканчиваем делать фигуру:
  s.endShape();
}

void draw() {
  background(52);
  translate(width/2, height/2);
  s.rotate(0.01);
  shape(s);
}

См.также

Внешние ссылки